Цикл, пока fgetc
не вернется EOF
, прекрасно. После этого, если вы хотите узнать, закончился ли цикл из-за простого достижения конца файла или из-за ошибки, вы должны вызвать ferror
или feof
. Если вам все равно, вы можете пропустить звонок.
Обратите внимание, что имеет значение, проверяете ли вы feof
или ferror
, потому что индикатор ошибки для потока является липким и может оценить значение true, даже если нажатие eof было причиной сбоя fgetc
. Обычно вы должны использовать feof
для проверки, и если он возвращает false, заключите, что цикл остановлен из-за новой ошибки.