feof 함수

int feof(FILE * fp); 파일 스트림의 끝인지 테스트하는 함수

입력 매개 변수 리스트

fp 파일 스트림

반환 값

파일 스트림의 end of file 지시자가 설정 상태이면 0이 아닌 값

사용 예

//C언어 표준 라이브러리 함수 가이드
//int feof ( FILE * fp ); 파일 스트림의 끝인지 테스트하는 함수
//파일의 내용을 라인 번호를 추가하여 출력
#include <stdio.h>
int main (void)
{
    FILE * fp;
    int ch;
    int line_no = 0;

    fopen_s(&fp, "input.txt","rt");//읽기 모드로 파일 열기
    if (fp==NULL) 
    {
        perror ("error fopen");
        return 0;
    }
    line_no++;
    printf("%4d: ",line_no);
    while( ! feof(fp) )//파일의 끝을 만날때까지 반복
    {
      ch = fgetc (fp);//입력 파일 스트림에서 문자 읽기
      putchar(ch);//표준 출력 스트림에 문자 출력
      if (ch == '\n')//개행 문자일 때
      {
          line_no++;//라인 번호를 1 증가
          printf("%4d: ",line_no);//라인 번호 출력
      }
    } 
    fclose (fp);//입력 파일 스트림 닫기
    return 0;
}

input.txt 내용

//1. "Hello World"를 표준 출력 스트림(콘솔 화면)에 출력
#include <stdio.h> //2. 표준 입출력 헤더 포함문

void main(void)//3. 프로그램 진입점
{
    printf("Hello World\n");//4. 표준 출력 스트림에 문자열 출력
}

출력

1:. "Hello World"를 표준 출력 스트림(콘솔 화면)에 출력
2: #include <stdio.h> //2. 표준 입출력 헤더 포함문
3: 
4: void main(void)//3. 프로그램 진입점
5: {
6:     printf("Hello World\n");//4. 표준 출력 스트림에 문자열 출력
7: }