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