feof

스트림에서 파일의 끝에 대한 테스트입니다.

int feof( 
   FILE *stream 
);

매개 변수

  • stream
    FILE 구조체에 대한 포인터입니다.

반환 값

feof 함수는읽기 작업이 파일의 이전 부분을 읽으면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다. 스트림 포인터가 NULL 인 경우, 함수는 매개 변수 유효성 검사 에 설명 된 대로 잘못 된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우 errno 는 EINVAL 로 설정 되고 feof 는 0을 반환합니다.

이러한 오류 코드 및 기타 오류 코드에 대한 자세한 내용은 _doserrno, errno, _sys_errlist 및 _sys_nerr을 참조하십시오.

설명

feof 루틴(함수 및 매크로로 구현)은 전달 된 stream 의 끝 여부를 결정합니다. 파일의 끝이 전달 되면, 읽기 작업은 스트림이 닫힐 때까지 때까지 또는 rewind, fsetpos, fseek, 또는 clearerr 가 반대로 호출 되기 전까지 파일의 끝 지시자를 반환합니다.

예를 들어, 10 바이트 파일에서 10 바이트를 읽을 경우파일의 끝에 파일 포인터가 있어도 feof 는 끝을 넘어 읽을 수 없으므로 0을 반환합니다. 11 바이트를 읽으려고 시도한 경우에만 feof 는 0이 아닌 값을 반환합니다.

요구 사항

Function

필수 헤더

feof

<stdio.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

예제

// crt_feof.c
// This program uses feof to indicate when
// it reaches the end of the file CRT_FEOF.TXT. It also
// checks for errors with ferror.
//

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   int  count, total = 0;
   char buffer[100];
   FILE *stream;

   fopen_s( &stream, "crt_feof.txt", "r" );
   if( stream == NULL )
      exit( 1 );

   // Cycle until end of file reached:
   while( !feof( stream ) )
   {
      // Attempt to read in 100 bytes:
      count = fread( buffer, sizeof( char ), 100, stream );
      if( ferror( stream ) )      {
         perror( "Read error" );
         break;
      }

      // Total up actual bytes read
      total += count;
   }
   printf( "Number of bytes read = %d\n", total );
   fclose( stream );
}

Input: crt_feof.txt

Line one.
Line two.

Output

Number of bytes read = 19

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

참고 항목

참조

오류 처리(CRT)

스트림 I/O

clearerr

_eof

ferror

perror, _wperror