CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
feof - проверка признака конца файла
Описание
Определяет, находится ли поток fp в конце файла.
Использование
#include <stdio.h>
int feof (FILE *fp); /* ANSI */
Возвращаемое значение
Ненулевое значение, если текущая позиция является кон-
цом(т.е. установлен флаг `eof'). После установки флага
не разрешены операции чтения. Флаг опускается при опе-
рациях rewind, fseek, и при закрытии потока. Возвраща-
ет 0, если флаг не установлен.
Пример
#include <stdio.h>
#define BUFSIZE 128
char buffer [BUFSIZE];
main()
{
FILE *fp;
fp = fopen("file.dat", "r");
{
while(!feof(fp))
fgets(buffer, BUFSIZE, fp);
}
printf("Файл прочитан, встретился EOF \n", buffer);
}
Рекомендация
Смотрите также clearerr, ferror.
Оставить комментарий
Комментарии
1.
+2 / -0


10 марта 2006, 00:04:55
Как ни странно, такая же проблема.
Только у меня почему то после fread - последний блок попадает дважды. и только потом EOF.
Только у меня почему то после fread - последний блок попадает дважды. и только потом EOF.
2.


10 ноября 2005, 14:18:17
while(!feof(fp)) - фигня, как показала многострадальная проверка - while((symbol_=fgetc(conf_))!=EOF) - только так я смог узнать, точно ли EOF.
Даже feof(fp)!=true тоже не помагает.
Я всегда получаю значение EOF при проверке feof, чтобы я не делал :-((
Даже feof(fp)!=true тоже не помагает.
Я всегда получаю значение EOF при проверке feof, чтобы я не делал :-((
