我发现自己被莫名其妙反复rdstate()标志- ,good(),,bad() -以及它们是如何表达,和.eof()fail()basic_ios::operator!operator booloperator void*
有人可以让我摆脱苦难并解释这一点,所以我再也不用三思了吗?
为什么Ctrl+Z在下面的小程序中没有触发循环完成?
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
{
//nothing
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入:test^ZEnter,它不会跳出循环。
我发现了相关问题(此处和此处),但没有一个问题可以解释 Windows 下的 C(而不是 C++)。
注意:我在 Windows 8.1 上使用 Visual Studio 2015 PRE