문제
C 컴파일러는 읽는 동안 파일이 끝에 도달했음을 어떻게 감지합니까? 프로그램으로 설명하세요.
해결책
feof()는 파일의 끝을 찾는 데 사용되는 C 언어의 파일 처리 함수입니다.
파일 끝을 찾는 데 사용한 논리는 다음과 같습니다. -
fp = fopen ("number.txt", "r"); //open a file printf ("file content is\n"); for (i=0;i<=100;i++){ n = getw(fp); //read each number and store in n if(feof(fp)) {//if file pointer reach to end it will break printf ("reached end of file"); break; } else { printf ("%d\t", n); } }
예
다음은 feof() 함수를 위한 C 프로그램입니다 -
#include<stdio.h> int main(){ FILE *fp; int i,n; fp = fopen ("number.txt", "w"); for (i=0;i<=100;i= i+10){ putw(i,fp); } fclose (fp); fp = fopen ("number.txt", "r"); printf ("file content is\n"); for (i=0;i<=100;i++){ n = getw(fp); if(feof(fp)){ printf ("reached end of file"); break; } else { printf ("%d\t", n); } } return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
file content is 0 10 20 30 40 50 60 70 80 90 100 reached end of file