我正在尝试制作一个游戏,当按下某些键时对象会移动。但我想实现它,以便东西移动并且循环一直在运行。到目前为止,键盘输入功能如scanf和getchar都在等我按键,直到它们允许程序继续。如何在不停止程序的情况下监听按键操作(不使用线程)?
答案 0 :(得分:0)
有一种方法可以使用循环来实现这一点
以下程序将在循环中执行其他操作,并且在每次传递中它将检查是否已按下某个键。然后,按下的键将存储到变量c
。
#include <stdio.h>
#include <conio.h>
int main(void) {
char c = '\0';
while (1) {
if (kbhit()) {
c = getch();
}
/* If a key has been pressed */
if (c != '\0') {
/* Do something */
c = '\0'; // and put it back to \0
}
/* Do something else */
}
return 0;
}
注意:此解决方案仅适用于Windows和其他操作系统,其中头文件&#34; conio.h &#34;可以包括