В моей программе, имя файла со значениями (в большинстве 2-х цифр) для чтения дается в терминале и мой основной(), как показано ниже:Преобразование читать символ в Int C++
int main (int argc, char *argv[])
{
//assume argv[1] is a filename to open
ifstream the_file (argv[1])
if (!the_file.is_open()){
cout<<"Could not open file << endl;
return 0;
}
char x;
int array[10];
int x_int;
while (the_file.get (x)){
for (int i=0; i<10;i++){
array[i] = (int)x;
}
}
}
Тем не менее, я получаю нечетное число.
Моя ошибка, безусловно, на array[i] = (int)x;
линии, но
как я могу преобразовать считанное значение обугленного в целом? Или есть ли какой-либо другой метод для чтения их как типа int?
Я хочу иметь значения, взятые из входного файла работы в виде целых чисел, а не в виде одной цифры
Мой фактический входной файл (.txt) является:
75
95
1
2
45
65
98
6
7
9
Что содержит файл? Последовательность цифр ('0' - '9'), последовательность чисел (возможно, многозначная) или двоичные данные? Приведите пример. – interjay
@interjay, он имеет не более 2-значных чисел, таких как 55, 78, 2, 4. и т. Д. –
Так что чтение его одного символа одновременно, как и в вопросе, вам не поможет, и не будет преобразовывать символ к int. Пожалуйста, отредактируйте вопрос, чтобы описать формат файла и нужный результат. – interjay