EOF(文件结尾)是 C 语言中表示文件或流末尾的常量。在使用文件操作函数时,通过检查返回的值是否等于 EOF 可检测是否达到文件末尾。

EOF 在 C 语言中的含义
EOF(End of File)是 C 语言中一个预定义的常量,表示文件或流的末尾。它用于检测文件读取或写入操作是否已达到文件的末尾。
用法
在 C 语言中,使用 EOF 常量来检查输入或输出操作的结果是否已达到文件末尾。它通常与文件操作函数结合使用,例如 fscanf、fprintf 和 fgetc。
例如:
#include <stdio.h>
int main() {
FILE *fp;
int c;
fp = fopen("myfile.txt", "r");
while ((c = getc(fp)) != EOF) {
putchar(c);
}
fclose(fp);
return 0;
}</stdio.h>
在这个示例中,getc() 函数从文件流中读取单个字符,并将其存储在 c 变量中。循环会一直持续到 getc() 返回 EOF,表示已达到文件末尾。
注意事项
- EOF 的值因实现而异,但通常为 -1。
- 在使用 EOF 进行比较时,请务必将其与返回的值进行比较,而不是直接与常量本身比较。例如:
if (getc(fp) == EOF) {
// 已达到文件末尾
}
相反的常量
在文件操作中,EOF 的相反常量是 FEOF(File Error On End of File),它表示文件读取或写入操作失败。在大多数情况下,当文件读取或写入操作遇到错误(例如,文件无法访问)时,将返回 FEOF。
13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!









