在C語言中,可以使用feof()函數來判斷文件是否已經結束。
feof()函數的原型如下:
int feof(FILE *stream);
該函數接受一個指向文件的指針作為參數,如果文件已經結束,則返回非零值;否則返回0。
以下是一個示例代碼,展示了如何使用feof()函數來判斷文件是否已經結束:
#include <stdio.h>
int main() {
FILE *file;
char c;
file = fopen("file.txt", "r");
if (file == NULL) {
printf("Failed to open file\n");
return 1;
}
while (!feof(file)) {
c = fgetc(file);
if (c != EOF) {
printf("%c", c);
}
}
fclose(file);
return 0;
}
在上述代碼中,首先打開了一個名為file.txt的文件,然后使用feof()函數在一個循環中讀取文件的每一個字符,直到文件結束。在循環的每一次迭代中,先使用fgetc()函數讀取一個字符,然后判斷該字符是否為EOF(文件結束符),如果不是,則將其打印出來。
需要注意的是,feof()函數在文件結束之前不會返回非零值,而是在嘗試讀取文件的下一個字符之后才會返回非零值,所以在循環中需要先使用fgetc()函數讀取字符,然后再使用feof()函數來判斷文件是否已經結束。