Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích hàm feof () bằng ngôn ngữ C bằng một chương trình

Vấn đề

Làm thế nào trình biên dịch C phát hiện rằng tệp đã đến cuối trong khi đọc? Giải thích bằng một chương trình.

Giải pháp

feof () là một hàm xử lý tệp bằng ngôn ngữ C, được sử dụng để tìm phần cuối của tệp.

Logic chúng tôi sử dụng để tìm cuối tệp như sau -

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);
   }
}

Bản đồ

Sau đây là chương trình C cho hàm feof () -

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

file content is
0 10 20 30 40 50 60 70 80 90 100 
reached end of file