파일의 끝(EOF)을 테스트합니다.Tests for end of file (EOF).


int _eof(
   int fd

매개 변수Parameters

열려 있는 파일을 참조하는 파일 설명자입니다.File descriptor referring to the open file.

반환 값Return Value

_eof 는 현재 위치가 파일의 끝 인 경우 1을 반환 하 고 그렇지 않으면 0을 반환 합니다._eof returns 1 if the current position is end of file, or 0 if it is not. 반환 값-1은 오류를 나타냅니다. 이 경우 매개 변수 유효성 검사에 설명 된 대로 잘못 된 매개 변수 처리기가 호출 됩니다.A return value of -1 indicates an error; in this case, the invalid parameter handler is invoked, as described in Parameter Validation. 계속 해 서 실행 하도록 허용한 경우 errnoebadf 로 설정 되며이는 잘못 된 파일 설명자를 나타냅니다.If execution is allowed to continue, errno is set to EBADF, which indicates an invalid file descriptor.


_Eof 함수는 fd 와 연결 된 파일의 끝에 도달 했는지 여부를 확인 합니다.The _eof function determines whether the end of the file associated with fd has been reached.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

요구 사항Requirements

함수Function 필수 헤더Required header 선택적 헤더Optional header
_eof_eof <io.h> <errno.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For more compatibility information, see Compatibility.


// 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" );
      // Total actual bytes read
      total += count;
   printf( "Number of bytes read = %d\n", total );
   _close( fh );

입력: crt_eof.txtInput: crt_eof.txt

This file contains some text.


Number of bytes read = 29

참조See also

오류 처리Error Handling
하위 수준 i/oLow-Level I/O
perror, _wperrorperror, _wperror