我有一个程序应该从用户那里获取输入,直到它收到 EOF
。
\n
或空格被视为合法字符,
但是控制台既不将 ^z
也不将 ^d
识别为 EOF
并且程序继续运行直到手动停止。
都试过了:
while (currChar != EOF)
{
scanf("%c", &currChar);
}
和:
scanf("%c", &currChar);
if (currChar==EOF)
break;
最佳答案
scanf()
在到达输入末尾时不会将变量设置为 EOF
,它返回 EOF
。所以你必须测试函数的值。
while (scanf("%c", &currChar) != EOF) {
...
}
关于c - 无法识别 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50806392/