想在终端中做个小应用,按下上下左右键能立刻作出反应。
测试程序见下:
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <termios.h> 4 5 int main(int argc, const char *argv[]) 6 { 7 struct termios attr; 8 unsigned char temp; 9 10 tcgetattr(0, &attr); 11 attr.c_lflag &= ~(ICANON | ECHO); 12 attr.c_cc[VTIME] = 0; 13 attr.c_cc[VMIN] = 1; 14 tcsetattr(0, TCSANOW, &attr); 15 16 while (1) { 17 temp = fgetc(stdin); 18 printf("%#2x\n", temp); 19 } 20 21 return 0; 22 }
tcgetattr和tcsetattr的用法参见:https://blog.csdn.net/liuqz2009/article/details/51967763
本文介绍了一种在终端中创建小应用的方法,使程序能够即时响应用户的上下左右按键输入。通过使用C语言,并结合termios.h中的tcgetattr和tcsetattr函数,可以实现非规范模式下字符的读取,从而达到实时响应的效果。

2154

被折叠的 条评论
为什么被折叠?



