我想要结合 kbhit()和 getch()功能的功能。
换句话说,我想当程序工作时,如果我按下'q'键,程序会停止而不会暂时停止以便像getch()函数那样接收字符。
我想结合 kbhit()优势和 getch()优势。
我希望你理解我的目的。
答案 0 :(得分:0)
根据您提到的kbhit
和getch
,您可能正在使用Windows。在这种情况下,您可以尝试GetKeyboardState
。
答案 1 :(得分:0)
kbhit
告诉你是否有人在等待。 getch
将返回下一个字符,如果需要,将返回一个字符。我能想到的两个唯一的自然组合是,如果有一个角色将返回一个角色,但如果没有可用的角色则不会等待。鉴于您已经拥有kbhit
和getch
:
/* Returns a character from stdin, if there is one.
* Otherwise, returns -1. */
int getch_nonblocking(void)
{
return kbhit() ? getch() : -1;
}