首页 文章

C:如何模拟EOF?

提问于
浏览
45

我目前正在阅读K&R的书并在第一部分中输入示例,并且有几个例子如下:

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

我正在Windows框中测试这些示例,从而从 cmd 提示符运行已编译的exe文件 .

要测试上面的例子,我该如何模拟 EOF ?也就是说,从命令提示符测试示例时,基本上如何使循环停止?

4 回答

  • 1

    要输入EOF,请使用:

    Windows中的

    • ^ Z(CtrlZ)
      在类Unix系统上
    • ^ D.
  • 81

    参考EOF

    Windows: Ctrl+Z
    Unix :Ctrl+D
    
  • 2

    首先,按:Ctrl ^ X,下一步:Ctrl ^ D.

  • 21

    您还可以通过显式赋予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;
    }
    

相关问题