Windows 7上的Cygwin Control + D没有发出EOF信号

时间:2018-11-28 16:23:35

标签: c windows cygwin eof getchar

我最近安装了Cygwin64,并且试图运行一个C程序,该程序使用getchar从键盘输入

#include <stdio.h>

// copies input to output

int main()
{
    int c;

    while ((c = getchar()) != EOF)
        putchar(c);
}

我已使用stty -a检查哪些键盘信号起作用,并且EOF正确映射到ctrl + D,但是它什么也没做

I have read that there may be a conflict with MinGW which I am also using

我的解决方案是切换到在VS Code中使用Cygwin终端,而改用Windows键盘信号

1 个答案:

答案 0 :(得分:0)

仍然是Ctrl + D。您的代码中有错字。您没有将getchar的返回值分配给c。删除等号。

while ((c = getchar()) != EOF)