Добрый день. Имеется текстовый файл, в котором просто записано несколько чисел, например:
1 2 3 4
Читаю их таким образом:
int c;
while(!f.eof())
{
f >> c;
cout << c << " ";
}
Получаю:
1 2 3 4. Но, стоит заменить тип переменной на: char c; Вывод получается таким, с лишней цифрой:
1 2 3 4 4
Вопрос. Почему в первом случае eofbit установился раньше, сразу после чтения последней цифры? И что происходит во втором случае?