#include <stdio.h> int feof(FILE *stream);
Функция feof() проверяет, достигнут ли конец файла, связанного с потоком stream. Если указатель текущей позиции файла установлен на конец файла, возвращается ненулевое значение; в противном случае возвращается нуль.
При достижении конца файла последующие операции чтения будут возвращать значение EOF до тех пор, пока не будет вызвана функция rewind() или пока указатель текущей позиции файла не будет установлен на новую позицию с помощью функции fseek().
Функция feof() особенно полезна при работе с двоичными файлами, поскольку маркер конца файла также является полноценным двоичным целым. Например, чтобы определить момент достижения конца двоичного файла вместо простой проверки значения, возвращаемого функцией getc(), следует явным образом обратиться к функции feof().
Данный фрагмент программы показывает один из способов определения конца файла.
/* Предполагается, что файл fp был открыт для чтения. */ while(!feof(fp)) getc(fp);