想在终端中做个小应用,按下上下左右键能立刻作出反应。

测试程序见下:

 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

最新文章

  1. ACM交流赛感悟
  2. MySQL 存储过程
  3. solrCloud的两种部署方式
  4. 关于web软件信息安全问题防护资料的整理(三)
  5. Sql practice
  6. C#TextBox自动滚动到最低端
  7. IE6无法加载CSS
  8. Android开发-API指南-&lt;data&gt;
  9. HDU 4081 Qin Shi Huang&#39;s National Road System 最小生成树
  10. UILabel可以显示html文本
  11. 海美迪Q系列视频文明书
  12. 【原创】Easyui tree filter 过滤本地数据无效的原因
  13. 使用localtunne一分钟搞定微信公众号接入
  14. 为什么在JDBC要使用Class.forName();这句话
  15. 源码解析Django CBV的本质
  16. 怎样检测TCP/UDP端口的连通性
  17. [工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet &amp; FRHICommandListImmediate calls
  18. 最短路问题 Floyd+Dijkstra+SPFA
  19. 发送Json数据,WebApi查看时为Null的问题(已解决)
  20. MVC,MVVM,MVP的区别/ Vue中忽略的知识点!

热门文章

  1. Unity 打包Shader优化
  2. Python 搜索文件,文件过滤,pathlib模块
  3. (十一)、head--查看文件前若干部分,tail--查看文件后若干部分
  4. Semaphore信号量深度解析
  5. IDEA控制台打印程序内汉字乱码及txt文本乱码
  6. 小团队产品研发管理V0.0.1
  7. 还在使用Future轮询获取结果吗?CompletionService快来了解下吧。
  8. SpringMVC+JPA+SpringData配置
  9. 主从同步遇到 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;时怎么解决
  10. Java优雅停机