当stdin是一个Windows控制台时,如何进行poll(stdin)或select(stdin)?

时间:2014-08-26 12:53:26

标签: c windows select console blocking

根据我的earlier question,我试图确定是否可以不阻塞地读取字节。

现在,我已经有了几个适用于类Unix系统的解决方案,但是当它们尝试将它移植到Windows时它们都崩溃并烧毁,因为它根本不遵循 unix "一切都是文件"座右铭。在Windows上,没有termios将终端翻转为非规范模式,fstat并没有告诉你任何事情,虽然WSA表面上提供了select等等最近,poll,它们只适用于套接字,而不是任何旧文件句柄,控制台"文件"。

因此,通过检查MSDN我唯一的想法是获取输入事件的计数,查看副本并遍历它,仅计算KEY_UP类型的事件。但是...... ick ?!救命?更好的方法?甚至不那么可恶?

0 个答案:

没有答案