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

EOF, getc () và feof () trong C

EOF

EOF là viết tắt của End of File. Hàm getc () trả về EOF, khi thành công ..

Đây là một ví dụ về EOF trong ngôn ngữ C,

Giả sử chúng tôi có tệp “new.txt” với nội dung sau.

This is demo!
This is demo!

Bây giờ, chúng ta hãy xem ví dụ.

Ví dụ

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

Đầu ra

This is demo!
This is demo!

Trong chương trình trên, tệp được mở bằng fopen (). Khi biến số nguyên c không bằng EOF, nó sẽ đọc tệp.

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

getc ()

Nó đọc một ký tự đơn lẻ từ đầu vào và trả về một giá trị số nguyên. Nếu không thành công, nó sẽ trả về EOF.

Đây là cú pháp của getc () trong ngôn ngữ C,

int getc(FILE *stream);

Đây là một ví dụ về getc () trong ngôn ngữ C,

Giả sử chúng tôi có tệp “new.txt” với nội dung sau -

This is demo!
This is demo!

Bây giờ, chúng ta hãy xem ví dụ.

Ví dụ

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

Đầu ra

This is demo!
This is demo!

Trong chương trình trên, tệp được mở bằng fopen (). Khi biến số nguyên c không bằng EOF, nó sẽ đọc tệp. Hàm getc () đang đọc các ký tự từ tệp.

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

feof ()

Hàm feof () được sử dụng để kiểm tra phần cuối của tệp sau EOF. Nó kiểm tra chỉ báo cuối tệp. Nó trả về giá trị khác 0 nếu thành công, ngược lại, bằng không.

Đây là cú pháp của feof () trong ngôn ngữ C,

int feof(FILE *stream)

Đây là một ví dụ về feof () trong ngôn ngữ C,

Giả sử chúng tôi có tệp “new.txt” với nội dung sau -

This is demo!
This is demo!

Bây giờ, chúng ta hãy xem ví dụ.

Ví dụ

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   if (feof(f))
   printf("\n Reached to the end of file.");
   else
   printf("\n Failure.");
   fclose(f);
   getchar();
   return 0;
}

Đầu ra

This is demo!
This is demo!
Reached to the end of file.

Trong chương trình trên, Trong chương trình trên, tệp được mở bằng cách sử dụng fopen (). Khi biến số nguyên c không bằng EOF, nó sẽ đọc tệp. Hàm feof () đang kiểm tra lại xem con trỏ đã đến cuối tệp hay chưa.

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}
if (feof(f))
printf("\n Reached to the end of file.");
else
printf("\n Failure.");