如您所知,在Windows中使用getch()时,应用程序会等到您按下某个键,

我如何在不冻结程序的情况下读取 key ,例如:

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

关于c - c编程检查是否按下了按键而不停止程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13547471/

10-16 13:12