我正在使用 C++ 中的图形模式制作一个简单的程序,我在处理输入时遇到了问题。
我只需要一种方法来检查键盘,如果按下了任何键,则将键值存储在变量中,
getch()
的问题是它一直等到按下任何键,如果用户没有输入,我需要程序继续运行。
我做了一项研究,似乎有数百种方法可以做到这一点。
哪个最简单?
示例: 循环开始,程序检查是否有任何输入并存储它,程序处理该输入然后丢弃它以再次开始循环。这将与 getch()
完美配合,不是吗?好吧,如果这次没有按下任何键,我希望循环也继续进行。一种无输入默认模式,因此进程不会停止。
(我真正想要的是等同于不等待用户输入的 getch()
)。
Windows,Code::Blocks IDE,GCC 编译器
是的,kbhit 似乎按预期工作,谢谢!!
最佳答案
使用 int _kbhit( void );
:它是对 getch()
的非阻塞调用(仅适用于 Windows)。
它也包含在 conio.h
文档在这里:http://msdn.microsoft.com/en-US/en-en/library/58w7c94c.aspx
(*nix 系统也有一个解决方法:http://cboard.cprogramming.com/c-programming/63166-kbhit-linux.html)
关于c++ - 使用键盘输入的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21701802/