我创建了一个用C语言编写的.exe文件(echo_eof.exe)。代码如下:
#include <stdio.h>
int main(void)
{
int ch;
while ((ch = getchar()) != EOF)
putchar(ch);
}
然后我在Windows cmd中键入了echo_eof <words.txt,其中words.txt被写为
Hello world!
命令输出是
Hello world!
我从未在文本文件中键入EOF,但似乎EOF隐藏在文本文件中。这是真的?如果是,有没有办法在文本文件中看到隐藏的EOF?
如果您的阅读功能位于文件的末尾并且无法获得另一个符号(可能是char),则会告知您已达到EOF。这不在文件中,它是来自文件处理程序的信号。