Ответы Mail.ru: Ответ на вопрос "Почему функция feof() работает странно ?"

Сергей (57047) 1 месяц назад

Как ни странно, механизм определения конца файла есть только у функций, которые считывают информацию с потока (файла). Если был достигнут конец - они запоминают этот факт в флаге eof или даже возвращают его в качестве считанного значения. А feof всего лишь сообщает состояние этого флага.
А почему так - для универсальности. Один и тот же механизм подходит как для потоков ввода от терминалов (у которых нет конца файла) так и для файлов с концом (толи на твердотельном жестком диске толи на старой бобине с ржавой магнитной проволокой).