我目前正在阅读K& R的书并在第一部分的示例中输入内容,并且有几个例子如下:
while((c = getchar()) != EOF) {
//do something
}
我正在Windows框中测试这些示例,从而在cmd
提示符下运行已编译的exe文件。
要测试上面的示例,我该如何模拟EOF
?也就是说,基本上如何在从命令提示符测试示例时停止循环?
答案 0 :(得分:85)
要输入EOF,请使用:
答案 1 :(得分:21)
参考EOF
Windows: Ctrl+Z
Unix :Ctrl+D
答案 2 :(得分:2)
首先,按:Ctrl ^ X,下一步:Ctrl ^ D
答案 3 :(得分:1)
您还可以通过显式赋予int变量值-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;
}
答案 4 :(得分:0)
按 Ctrl + d 程序停止并返回0后,我遇到了同样的问题。 如果您使用 Clion ,则按 Ctrl + Shift + a 而不是键入Registry,请按Enter,并确保未选中 run.processes.with.pty。。 再次执行该编译程序后,您可以输入输入,但是不要在与输入相同的行上按 Ctrl + d ,它将返回0或错误。