Поделиться через


_eof

Проверяет конец файла (EOF).

Синтаксис

int _eof(
   int fd
);

Параметры

fd
Дескриптор файла, ссылающийся на открытый файл.

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

_eof возвращает значение 1, если текущая позиция заканчивается в файле, или значение 0, если это не так. Возвращаемое значение -1 указывает на ошибку; В этом случае вызывается обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, errno принимает значение EBADF, что указывает на недопустимый дескриптор файла.

Замечания

Функция _eof определяет, достигнут ли конец файла, связанного с fd.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Function Обязательный заголовок Необязательный заголовок
_eof <io.h> <errno.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// crt_eof.c
// This program reads data from a file
// ten bytes at a time until the end of the
// file is reached or an error is encountered.
//
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <share.h>

int main( void )
{
   int  fh, count, total = 0;
   char buf[10];
   if( _sopen_s( &fh, "crt_eof.txt", _O_RDONLY, _SH_DENYNO, 0 ) )
   {
        perror( "Open failed");
        exit( 1 );
   }
   // Cycle until end of file reached:
   while( !_eof( fh ) )
   {
      // Attempt to read in 10 bytes:
      if( (count = _read( fh, buf, 10 )) == -1 )
      {
         perror( "Read error" );
         break;
      }
      // Total actual bytes read
      total += count;
   }
   printf( "Number of bytes read = %d\n", total );
   _close( fh );
}

Входные данные: crt_eof.txt

This file contains some text.

Выходные данные

Number of bytes read = 29

См. также

Обработка ошибок
Низкоуровневый ввод-вывод
clearerr
feof
ferror
perror, _wperror