C:如何模拟EOF?
我正在阅读K&R的书,并在第一部分的例子中input,有几个例子:
while((c = getchar()) != EOF) { //do something }
我正在Windows盒子上testing这些例子,并从cmd
提示符运行编译的exe文件。
为了testing上面的例子,我如何模拟一个EOF
? 也就是说,从命令提示符下testing示例时,基本上如何使循环停止?
要inputEOF,请使用:
- 在Windows中^ Z( Ctrl Z )
- 在类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; }