linux在终端中按下键盘立马反应
2024-10-16 14:32:44
想在终端中做个小应用,按下上下左右键能立刻作出反应。
测试程序见下:
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
最新文章
- ACM交流赛感悟
- MySQL 存储过程
- solrCloud的两种部署方式
- 关于web软件信息安全问题防护资料的整理(三)
- Sql practice
- C#TextBox自动滚动到最低端
- IE6无法加载CSS
- Android开发-API指南-<;data>;
- HDU 4081 Qin Shi Huang&#39;s National Road System 最小生成树
- UILabel可以显示html文本
- 海美迪Q系列视频文明书
- 【原创】Easyui tree filter 过滤本地数据无效的原因
- 使用localtunne一分钟搞定微信公众号接入
- 为什么在JDBC要使用Class.forName();这句话
- 源码解析Django CBV的本质
- 怎样检测TCP/UDP端口的连通性
- [工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet &; FRHICommandListImmediate calls
- 最短路问题 Floyd+Dijkstra+SPFA
- 发送Json数据,WebApi查看时为Null的问题(已解决)
- MVC,MVVM,MVP的区别/ Vue中忽略的知识点!
热门文章
- Unity 打包Shader优化
- Python 搜索文件,文件过滤,pathlib模块
- (十一)、head--查看文件前若干部分,tail--查看文件后若干部分
- Semaphore信号量深度解析
- IDEA控制台打印程序内汉字乱码及txt文本乱码
- 小团队产品研发管理V0.0.1
- 还在使用Future轮询获取结果吗?CompletionService快来了解下吧。
- SpringMVC+JPA+SpringData配置
- 主从同步遇到 Got fatal error 1236 from master when reading data from binary log: &#39;Could not find first log file name in binary log index file&#39;时怎么解决
- Java优雅停机