C语言feof():检测是否到达文件末尾
feof() 是 C语言的一个标准库函数,定义在
feof() 用于检测文件流是否到达了文件末尾(EOF),函数的原型如下:
注意,feof() 仅在尝试读取已到达文件尾之后的数据时才返回非零值,仅到达文件尾但未尝试读取的情况下,并不会导致 feof() 返回非零值。
【实例】下面是一个C语言示例代码,演示了如何使用 feof() 函数:
<stdio.h>
头文件中。feof() 用于检测文件流是否到达了文件末尾(EOF),函数的原型如下:
int feof(FILE *stream);
参数
stream 是一个指向 FILE 类型的指针,表示要检查的文件流。返回值
如果文件流位于文件末尾,则该函数返回非零值。否则,返回零。注意,feof() 仅在尝试读取已到达文件尾之后的数据时才返回非零值,仅到达文件尾但未尝试读取的情况下,并不会导致 feof() 返回非零值。
【实例】下面是一个C语言示例代码,演示了如何使用 feof() 函数:
#include <stdio.h> int main() { FILE *file; char ch; // 以读取模式打开文件 file = fopen("example.txt", "r"); if (file == NULL) { perror("文件打开失败"); return 1; } // 循环读取文件,直到到达文件尾 while (1) { ch = fgetc(file); if (feof(file)) { break; // 如果到达文件尾,跳出循环 } printf("%c", ch); // 打印字符 } // 关闭文件 fclose(file); return 0; }在这个示例中,使用 fopen() 以读取模式打开一个文件,然后使用 fgetc() 在循环中逐字符读取文件的内容。当 feof() 检测到文件尾时跳出循环,最后使用 fclose() 关闭文件。