是否有一个功能组合功能kbhit()和getch()?

时间:2012-03-16 19:11:14

标签: c++ c function

我想要结合 kbhit() getch()功能的功能。
换句话说,我想当程序工作时,如果我按下'q'键,程序会停止而不会暂时停止以便像getch()函数那样接收字符。
我想结合 kbhit()优势和 getch()优势。

我希望你理解我的目的。

2 个答案:

答案 0 :(得分:0)

根据您提到的kbhitgetch,您可能正在使用Windows。在这种情况下,您可以尝试GetKeyboardState

答案 1 :(得分:0)

kbhit告诉你是否有人在等待。 getch将返回下一个字符,如果需要,将返回一个字符。我能想到的两个唯一的自然组合是,如果有一个角色将返回一个角色,但如果没有可用的角色则不会等待。鉴于您已经拥有kbhitgetch

,这很容易做到
/* Returns a character from stdin, if there is one.
 * Otherwise, returns -1. */
int getch_nonblocking(void)
{
  return kbhit() ? getch() : -1;
}