c编程检查是否按下键不停止程序

如你所知,当在窗口中使用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功能。 在搜索谷歌,我发现一个实施 –

http://www.flipcode.com/archives/_kbhit_for_Linux.shtml