EOF 在 C 语言中的含义
EOF(End of File)是 C 语言中一个预定义的常量,表示文件或流的末尾。它用于检测文件读取或写入操作是否已达到文件的末尾。
用法
在 C 语言中,使用 EOF 常量来检查输入或输出操作的结果是否已达到文件末尾。它通常与文件操作函数结合使用,例如
fscanf、
fprintf和
fgetc。
立即学习“C语言免费学习笔记(深入)”;
例如:
<code class="c">#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;
}</code>在这个示例中,
getc()函数从文件流中读取单个字符,并将其存储在
c变量中。循环会一直持续到
getc()返回 EOF,表示已达到文件末尾。
注意事项
EOF 的值因实现而异,但通常为 -1。 在使用 EOF 进行比较时,请务必将其与返回的值进行比较,而不是直接与常量本身比较。例如:<code class="c">if (getc(fp) == EOF) {
// 已达到文件末尾
}</code>相反的常量
在文件操作中,EOF 的相反常量是
FEOF(File Error On End of File),它表示文件读取或写入操作失败。在大多数情况下,当文件读取或写入操作遇到错误(例如,文件无法访问)时,将返回 FEOF。
