首页 > 系统相关 >linux下C语言实现可打印字符及键值的输出

linux下C语言实现可打印字符及键值的输出

时间:2022-10-30 09:33:15浏览次数:60  
标签:ch rdfs tv C语言 int 键值 linux include

代码非常简单:

 1 #include <stdio.h>
 2 #include <termios.h>
 3 #include <unistd.h>
 4 #include <sys/types.h>
 5 #include <sys/time.h>
 6
 7 int kbhit(void){
 8     struct timeval tv;
 9     fd_set rdfs;
10
11     tv.tv_sec = 0;
12     tv.tv_usec = 0;
13
14     FD_ZERO(&rdfs);
15     FD_SET(STDIN_FILENO, &rdfs);
16
17     select(STDIN_FILENO + 1, &rdfs, NULL, NULL, &tv);
18
19     return FD_ISSET(STDIN_FILENO, &rdfs);
20 }
21
22 int main(int argc, char **argv)
23 {
24     int ch;
25     while(1){
26         if(kbhit() != 0){                       //如果键盘被敲击
27             ch = getchar();                     //获取键值
28             printf("num: %d\n", ch);            //打印键值
29             printf("char: %c\n", ch);           //打印键符
30         }
31     }
32
33     return 0;
34 }

使用也很简单,不多赘述。

标签:ch,rdfs,tv,C语言,int,键值,linux,include
From: https://www.cnblogs.com/guochaoxxl/p/16840509.html

相关文章

  • 物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动
    1)、报错如下   (2)进入/run/initramfs查看详细的报错日志rdsosreport.txt发现执行mount/dev/mapper/centos-root/sysroot命令的时候,挂载失败了或者输入:journal......
  • linux 中如何将一列数据转换为指定行的数据
     001、[root@pc1test]#cata.txt12345678910[root@pc1test]#awk-va=$(awk'END{if(NR%3!=0){printf("%d",NR/3+1)}else{printNR/3}}......
  • linux 如何监控并自动启动服务 - monit
    背景项目发布后,需要监控服务。也就是说如果出现异常停止情况,系统可以自动尝试启动。systemctl的enable只是对于开机自启动有效,但对于服务意外终止,并不能自行启动。这......
  • linux系统
    安装各种软件#################安装nginx###########################yuminstall-yepel-release&&yuminstall-ynginxsystemctlenablenginx#开机启动system......
  • linux 中如何将一列数据转换为指定列的数据
      001、[root@pc1test]#lsa.txt[root@pc1test]#cata.txt##测试数据12345678910##转换为两列数据[root@pc1test]#cata.......
  • C语言--共用体(联合体)union
    共用体: 多个变量(不同的数据类型)共用同一块内存空间,但是同一时刻,只能有一个变量起作用共用体中起作用的的成员是最后一次存放的成员  #include<stdio.h>#inclu......
  • C语言之入门讲解
    目录1C语言基础讲解1.1C语言历史1.2C语言特点1.3C语言程序结构1.3.1简单示例1.3.2编译&执行C程序2数据类型2.1概述2.2标识符2.3数据类型2.3.1整数类型2.3.2......
  • C语言学习--结构体套结构体
    #include<stdio.h>#include<stdlib.h>structstu{intid;intage;charname[128];};/*structheima_stu{intid;intage;charn......
  • C语言学习--结构体数组
      #include<stdio.h>#include<stdlib.h>structstu{intid;intage;charname[128];};intmain(void){//结构体数组:数组中的每一......
  • Linux是啥?我们来聊聊?
    首先问大家一下,你们知道Linux是啥不?要说起电脑,windows就会浮现在大家的脑海里,要问起Linux,据我了解有部分人不清楚,就算经常用到电脑的公司企业白领有的也了解甚少。那我先来......