如你所知,当在窗口中使用getch()时,应用程序会等待你,直到你按下一个键,
如何在不冻结程序的情况下读取密钥,例如:
void main(){ char c; while(1){ printf("hello\n"); if (c=getch()) { . . . } }
谢谢。
您可以使用kbhit()
来检查是否按下了一个键:
#include <stdio.h> #include <conio.h> /* getch() and kbhit() */ int main() { char c; for(;;){ printf("hello\n"); if(kbhit()){ c = getch(); printf("%c\n", c); } } return 0; }
更多信息在这里: http : //www.programmingsimplified.com/c/conio.h/kbhit
我在Linux的控制台应用程序中需要类似的功能,但Linux不提供kbhit
功能。 在搜索谷歌,我发现一个实施 –