如您所知,在Windows中使用getch()时,应用程序会等待您,直到您按下某个键,
如何在不冻结程序的情况下读取密钥,例如:
void main(){
char c;
while(1){
printf("hello\n");
if (c=getch()) {
.
.
.
}
}
谢谢。
答案 0 :(得分:9)
您可以使用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
答案 1 :(得分:0)
我在Linux中的控制台应用程序中需要类似的功能,但Linux不提供kbhit
功能。在搜索Google时,我在 -