本文共 1274 字,大约阅读时间需要 4 分钟。
EOF 是 "End Of File" 的缩写,意为"文件结尾"。它并不是文件中的一个字符,而是在C语言的标准库中定义的一个宏,具体表示文件操作中达到文件末尾或发生读取错误的状态。
EOF 可以看作是一个操作状态,而不是文件中的实际字符。当try读取文件时,如果达到文件结尾,fgetc()
或 getc()
函数会返回 -1,这就是EOF.
Ctrl+Z
或 Ctrl+D
)触发的字符,而是一个错误状态。按行为存取:
getchar()
函数将输入按行为存取。如果没有特殊处理,程序通常会在遇到换行符 '\n'
或 EOF 时停止读取。返回值处理:
getchar()
通常返回输入的字符,但在遇到 EOF 时返回 -1。int
类型,而不是 char
。例如:int c;c = getchar();
而非:
char c;c = getchar();
Ctrl+Z
会产生 EOF;Linux 和 macOS 则使用 Ctrl+D
。'\n'
)后,输出会立即显示。Ctrl+D
,它不会马上终止输入,而是结束当前行的输入,并提示系统等待下一次输入。示例:
abc
并按回车,输出 abc
。abc
并按 Ctrl+D
,输出 abc
。Ctrl+D
后,下一轮输入才会结束。feof()
函数检测 EOF 状态。feof()
仅在读取操作失败时返回 TRUE,区分 EOF 和其它错误。ferror()
函数获取错误信息。#include#include int main() { FILE *fp = fopen("test.txt", "r"); int c; while ((c = fgetc(fp)) != EOF) { if (c == '\n') { printf("新的一行!\n"); } printf("%c", c); } fclose(fp); return 0;}
feof()
检测是否已结尾。C
编程中, EOF 通常定义为 -1,但具体数值可能根据实现而异。如需进一步了解 C
标准库函数及其内存管理方法,可以参考 《C专家编程》。
转载地址:http://slmhz.baihongyu.com/