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