【发布时间】:2012-03-17 03:39:09
【问题描述】:
我想要一个结合了 kbhit() 和 getch() 的函数。
换句话说,我想在程序运行时,如果我按下 'q' 键,程序会停止而不会暂时停止,以便像 getch() 函数一样接收字符。
我想结合 kbhit() 优势和 getch() 优势。
希望你明白我的目的。
【问题讨论】:
我想要一个结合了 kbhit() 和 getch() 的函数。
换句话说,我想在程序运行时,如果我按下 'q' 键,程序会停止而不会暂时停止,以便像 getch() 函数一样接收字符。
我想结合 kbhit() 优势和 getch() 优势。
希望你明白我的目的。
【问题讨论】:
kbhit 告诉你是否有角色在等待。 getch 将返回下一个字符,如果需要,等待一个字符。我能想到的两者的唯一自然组合是如果有一个字符将返回一个字符,但如果没有可用的字符则不会等待。这很容易做到,因为你已经有了kbhit 和getch:
/* Returns a character from stdin, if there is one.
* Otherwise, returns -1. */
int getch_nonblocking(void)
{
return kbhit() ? getch() : -1;
}
【讨论】:
getch 差。
根据您提到的kbhit 和getch,您可能正在使用Windows。在这种情况下,您可以尝试GetKeyboardState。
【讨论】: