C:如何模拟一个EOF?C:如何模拟一个EOF?(C : How to simulate an EO

2019-06-12 06:13发布

我目前正在读K&R的书,从首节的例子打字,并有一对夫妇的例子,如这样的:

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

我在Windows设备上测试这些例子,因此运行从编译EXE文件cmd提示。

为了测试上面的例子中,我如何模拟一个EOF ? 也就是说,我基本上怎样才能使循环停止从命令提示符测试例如当?

Answer 1:

要进入一个EOF,使用方法:

  1. ^ Z(Ctrl键 Z)在Windows
  2. ^ d上类Unix系统


Answer 2:

请参阅EOF

Windows: Ctrl+Z
Unix :Ctrl+D


Answer 3:

首先,按键:Ctrl ^ X,下一个:按Ctrl ^ d



Answer 4:

您也可以通过明确给出-1 int变量的值模拟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;
}


文章来源: C : How to simulate an EOF?