为什么在同一行先输入字符再输入ctrl+Z(EOF),第二个eof()不为1呢

为什么在同一行先输入字符再输入ctrl+Z(EOF),第二个eof()不为1呢?

int main(int argc, char *argv[])
{
    char a;
    std::cin >> a;
    std::cout << a << ' ' << std::cin.eof() << std::endl;
    std::cin >> a;
    std::cout << a << ' ' <<  std::cin.eof() << std::endl;
    return 0;
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

这个有讲EOF函数的: