Функция feof

Прототип функции feof:

int feof ( FILE * filestream );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Функция feof проверяет, достигнут ли конец файла, связанного с потоком, через параметр filestream. Возвращается значение, отличное от нуля, если конец файла был действительно достигнут.
Вызов данной функции, как правило, выполняется после выполнения предыдущей операции с потоком, например операции считывания, которая постепенно двигает внутренний указатель файла в конец.
Дальнейшие операции с файлом, после достижения его конца не будут выполняться до тех пор, пока внутренний указатель не будет сдвинут назад, функциями fseek или fsetpos. Таким образом индикатор положения внутреннего указателя будет иметь новое значение, отличное от EOF.

Параметры:

  • filestream
    Указатель на объект типа FILE, идентифицируемый поток.

Возвращаемое значение

Если достигнут конец файла, функция возвращает ненулевое значение.
В противном случае возвращается нулевое значение.

Пример: исходный код программы

//пример использования feof

#include <cstdio>
#include <iostream>

int main()
{
  FILE * ptrFile = fopen("file.txt", "rb");

  long ctr = 0;                                        // счетчик символов
  if (ptrFile == NULL) perror("Ошибка открытия файла");
  else
  {
    while ( !feof(ptrFile) )                             // пока не конец файла
    {
      fgetc(ptrFile);                                    // прочитать символ из файла
      ctr++;
    }
    fclose (ptrFile);                                    // закрыть файл
    std::cout << "Общее количество байтов: " << (ctr - 1);
  }
  return 0;
}

Пример работы программы

Этот код открывает файл с именем file.txt, и подсчитывает количество символов, которое он содержит, считывая их посимвольно. В итоге, выводится общее количество байтов.

CppStudio.com
Общее количество байтов: 13
Автор: Marienko L.
Дата: 14.09.2012
Поделиться:

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

Вы должны войти, чтобы оставить комментарий.