Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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.

оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
+2 / -0
Мне нравитсяМне не нравится
10 марта 2006, 00:04:55
Как ни странно, такая же проблема.
Только у меня почему то после fread - последний блок попадает дважды. и только потом EOF.
2.
Аноним
Мне нравитсяМне не нравится
10 ноября 2005, 14:18:17
while(!feof(fp)) - фигня, как показала многострадальная проверка - while((symbol_=fgetc(conf_))!=EOF) - только так я смог узнать, точно ли EOF.
Даже feof(fp)!=true тоже не помагает.
Я всегда получаю значение EOF при проверке feof, чтобы я не делал :-((
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог