当标准input是一个Windows控制台时如何做民意调查(标准input)或select(标准input)?

根据我以前的问题 ,我试图确定我是否可以无阻塞地读取一个字节。

现在,我已经有了几种适用于类Unix系统的解决scheme,但是在试图将其移植到Windows时,它们都会崩溃并烧毁,因为它并不遵循unix “一切都是文件”的格言。 在windows上,没有termios将terminal转换到非规范模式, fstat不会告诉你任何东西,虽然WSA表面上提供select和最近的poll ,但它们只能在套接字上工作,而不是在旧的文件句柄上,控制台“文件”。

所以我通过MSDN检查的唯一想法是获取input事件的计数,查看一个副本并遍历它,只计算KEY_UPtypes的事件。 但是… ick? 帮帮我? 更好的方法? 甚至不那么可恶?