我正在阅读“The C Programming Language (2nd ed.)”,在刚开始的时候,它有这样的例子:
while((c = getchar()) != EOF)
if(c == '\n'){
++n1;
我可以看到从文件读取时这是如何工作的,并且我理解这种语法......但这只是从控制台读取 - 当从控制台输入字符时,一个文件结尾如何发出信号?我正在使用 Windows XP...MinGW 编译器...无论如何,这本书是为具有 EOF 按钮之类的早期系统编写的吗?
更新
好吧,我还有一个问题,这与文件结尾在 Windows 下的工作方式有关。
如果我只是while(getchar()!=EOF);
,那么我可以继续输入字符,直到我通过 ^Z 发出 EOF 信号。但是,我必须写一个换行符,然后按 ^Z,然后是另一个换行符……为什么它必须在自己的行上?