7

有什么方法可以检查cin中是否有东西?我尝试了 peek() 但如果没有任何东西 peek() 等待输入,那不是我想要的。谢谢

4

2 回答 2

5

您不能使用 cin 读取击键,然后如果没有可用的内容则继续执行其他操作,我认为这可能是您想要的。cin 是一个缓冲流,根本无法以这种方式工作。事实上,使用标准 C++ 无法做到这一点——您必须使用操作系统特定的功能。

于 2009-12-18T12:18:29.727 回答
4

C++ 流和流缓冲区是同步的,也就是说它们会阻塞,直到有足够的输入可供读取。没有可移植的方法来异步检查流。考虑从单独的线程调用 peek()。

于 2009-12-18T12:18:06.180 回答