在 C 语言中使用 feof 函数来检查文件结束186


在处理文件时,通常需要确定是否已达到文件结束 (EOF)。C 语言提供了一个名为 feof() 的库函数,专门用于此目的。

feof() 函数

feof() 函数接受一个 FILE* 流指针作为参数,并返回一个 int 值。如果已达到文件结束,则返回非零值;否则,返回零。

feof() 函数的工作原理是检查流指针当前指向的位置。如果指针位于文件末尾,则返回非零值。如果指针位于文件中某个其他位置,则返回零。

使用 feof() 函数

以下代码示例演示了如何使用 feof() 函数:```c
#include
int main() {
FILE *fp;
char buffer[100];
fp = fopen("", "r");
if (fp == NULL) {
perror("fopen");
return -1;
}
while (!feof(fp)) {
if (fgets(buffer, sizeof(buffer), fp) != NULL) {
printf("%s", buffer);
}
}
fclose(fp);
return 0;
}
```

在上面的示例中,fopen() 函数用于打开一个名为 的文件。如果打开失败,则打印错误消息并退出程序。

接着,使用 feof() 函数在文件上执行一个循环。只要未到达文件结束,循环就会继续从文件中读取一行并打印它。一旦达到文件结束,feof() 函数将返回非零值,循环将终止。

注意事项

在使用 feof() 函数时,请注意以下几点:* feof() 函数只检查流指针当前指向的位置。它不会预测即将到来的字符或行。
* 如果在文件中间调用 fseek() 或 rewind() 等函数,feof() 函数将不再准确反映文件结束状态。
* 如果在使用 feof() 函数之前文件发生变化,例如被截断或追加,则 feof() 函数可能不会提供准确的结果。

2024-11-28


上一篇:C 语言输出窗口关闭:原因及解决方法

下一篇:C 语言控制输出宽度