zoukankan      html  css  js  c++  java
  • 使用select函数循环读取键盘输入

     1 #include <sys/time.h>
     2 #include <stdio.h>
     3 #include <sys/types.h>
     4 #include <sys/stat.h>
     5 #include <fcntl.h>
     6 #include <assert.h>
     7 #include <stdlib.h>
     8 #include <string.h>
     9 #include <unistd.h>
    10 #include <sys/socket.h>
    11 #include <netinet/in.h>
    12 #include <arpa/inet.h>
    13 #include <errno.h>
    14 #include <sys/select.h>
    15 
    16 int main()
    17 {
    18     int keyboard;
    19     int ret,i;
    20     char c;
    21     fd_set readfd;
    22     struct timeval timeout;
    23     keyboard = open("/dev/tty",O_RDONLY|O_NONBLOCK);
    24     assert(keyboard>0);
    25     while(1){
    26         timeout.tv_sec = 1;
    27         timeout.tv_usec = 0;
    28         FD_ZERO(&readfd);
    29         FD_SET(keyboard,&readfd);
    30         ret = select(keyboard+1,&readfd,NULL,NULL,&timeout);
    31         if(FD_ISSET(keyboard,&readfd)){
    32             i = read(keyboard,&c,1);
    33             if('
    '==c)
    34                 continue;
    35             printf("The input is %c
    ",c);
    36             if('q'==c)
    37                 break;
    38         }
    39     }
    40     return 0;
    41 }

     

  • 相关阅读:
    设计模式
    刷新所有视图存储过程
    js杨辉三角控制台输出
    2018申请淘宝客AppKey
    w3c标准 dom对象 事件冒泡和事件捕获
    promise原理
    vue virtual Dom
    css学习
    seo优化
    新概念学习
  • 原文地址:https://www.cnblogs.com/--lr/p/11295798.html
Copyright © 2011-2022 走看看