C:如何模拟EOF?

我正在阅读K&R的书,并在第一部分的例子中input,有几个例子:

while((c = getchar()) != EOF) { //do something } 

我正在Windows盒子上testing这些例子,并从cmd提示符运行编译的exe文件。

为了testing上面的例子,我如何模拟一个EOF ? 也就是说,从命令提示符下testing示例时,基本上如何使循环停止?

要inputEOF,请使用:

  1. 在Windows中^ Z( Ctrl Z
  2. 在类Unix系统上

请参阅EOF

 Windows: Ctrl+Z Unix :Ctrl+D 

首先,按下Ctrl ^ X,然后按Ctrl ^ D

你也可以通过显式给intvariables赋值-1来模拟EOF。

看看这个代码更清晰:

 #include<stdio.h> int main() { // char ch=getchar() // int ch=-1; if(ch==EOF) { printf("\nEOF: %d",EOF); } if((ch!=EOF)==0) { printf("\nit is equal to 0"); } if((ch!=EOF)==1) { printf("\nit is equal to 1"); } else { printf("\n it is equal to other value"); } system("pause"); return 0; } 
Interesting Posts