Неправильный ввод данных с помощью fstream - PullRequest
0 голосов
/ 22 июня 2010

Я пытался прочитать данные из текстового файла, используя fstream, но получил неверные данные.

ifstream fin ("C:\\Users\\rEgonicS\\Documents\\test.in");
int number;
fin >> number;
cout << number;

test.in просто 12.
cout читает 4273190.
Может кто-нибудь объяснить, почему это так и как это исправить?

1 Ответ

3 голосов
/ 22 июня 2010

Наиболее вероятная причина - ошибка открытия файла.Проверять статус после открытия, а также после прочтения;для простого теста сделайте что-то вроде этого:

ifstream fin ("C:\\Users\\rEgonicS\\Documents\\test.in");
if (!fin) cout << "File open failed\n";
int number;
fin >> number;
if (!fin) cout << "File read failed\n";
cout << number;

Это может дать дополнительную подсказку о том, что происходит.

...