这个例子来自网上,调试修改后,粘贴如下:
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <assert.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int keyboard;
int ret;
char ch;
fd_set readfd;
struct timeval timeout;
keyboard = open("/dev/tty", O_RDONLY|O_NONBLOCK);
assert(keyboard > 0);
while (1)
{
timeout.tv_sec = 3;
timeout.tv_usec = 0;
FD_ZERO(&readfd);
FD_SET(keyboard, &readfd); // 置位
// 执行select函数时,首先记录置位的描述符,然后将所有位清零,从select函数返回前,有动作的描述符被再次置位
ret = select(keyboard+1, &readfd, NULL, NULL, &timeout);
if (FD_ISSET(keyboard, &readfd)) { // 如果置位,则表示有可读的信息
read(keyboard, &ch, 1);
if ('\n' == ch)
continue;
printf("key:%c\n", ch);
if ('q' == ch)
break;
}
else {
printf("No input!\n");
}
}
close(keyboard);
}
分享到:
相关推荐
C--网络编程SELECT函数用法详解
linux c语言 select函数的用法
C网络编程SELECT函数用法详解[整理].pdf
Excel常用函数用法详解
主要介绍了C语言中getopt()函数和select()函数的使用方法,是C语言入门学习中的基础知识,需要的朋友可以参考下
主要介绍了Lua select函数用法实例,本文直接给出代码实例,并讲解了select函数的使用技巧,需要的朋友可以参考下
用C写的简单聊天室,分为服务器端和客户端。比较好地展示了socket编程中select这个函数的用法。
本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from ...
linux下select和poll的用法,关于设备驱动程序中的select和poll函数的用法。
掌握—— 存储函数的使用方法; 存储函数的查看、调用 查看数据库中的存储函数 语法格式为: SHOW FUNCTION STATUS 调用存储函数 语法格式为: SELECT sp_name ([func_parameter[,...]]) 存储函数创建完后,就如同...
linux c语言 select函数用法
一款多功能的移动端滚动选择器,支持单选到多选、...使用方法 引入 1 2 <link rel="stylesheet" type="text/css" href="css/mobileSelect.css"> <script src="js/mobileSelect.js" type="text/javascript"></script>
通过udp协议的同时收发数据来说明select的用法,代码用C语言编写,在linux下直接用gcc编译就行,,如果编译的是udp_pthread.c 记得加上-lpthread
可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件...
今天小编就为大家分享一篇Pytorch mask_select 函数的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
用户自定义函数 在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能。...句包含一条单独的select语句。 多语句表值函数:返回值是由选择的结果构成的记录集。
网络编程select函数的详细讲解!select函数是一个使用起来很复杂的函数。
主要作用:将查询结果翻译成其他值(即以...使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column,
SELECT语句高级用法1,使用group by 子句group by 子句将表分为几组,此子句通常与为每个这样的组生产总结值的聚集函数组合。使用不带聚集的group by 子句与在select 子句中使用的distinct(或unique)关键字很相 ...
可是使用 Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不 同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件...