c语言读取文件时怎么判断结束

1229
2023/8/20 14:46:36
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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()函数来判断文件是否已经结束。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言不能打开头文件怎么解决