在 Linux 中,您可以使用 C 语言的 getchar()
函数来实现键盘控制
#include<stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
int main() {
struct termios old_term, new_term;
int c;
// 获取当前终端设置
tcgetattr(STDIN_FILENO, &old_term);
// 复制旧的终端设置到新的设置中
new_term = old_term;
// 修改新的终端设置以实现无缓冲输入
new_term.c_lflag &= ~(ICANON | ECHO);
// 应用新的终端设置
tcsetattr(STDIN_FILENO, TCSANOW, &new_term);
printf("按下 'q' 键退出程序\n");
while (1) {
c = getchar();
if (c == 'q') {
break;
}
printf("您按下了 '%c' 键\n", c);
}
// 恢复旧的终端设置
tcsetattr(STDIN_FILENO, TCSANOW, &old_term);
return 0;
}
这个程序会在每次按键时立即读取字符,而不是等待用户按下回车键。当用户按下 ‘q’ 键时,程序将退出。在程序运行期间,您可以尝试按下其他键并查看程序的响应。