`

select函数的用法一

阅读更多

这个例子来自网上,调试修改后,粘贴如下:

#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函数用法详解

    C--网络编程SELECT函数用法详解

    linux c语言 select函数的用法

    linux c语言 select函数的用法

    C网络编程SELECT函数用法详解[整理].pdf

    C网络编程SELECT函数用法详解[整理].pdf

    Excel常用函数用法详解

    Excel常用函数用法详解

    C语言中getopt()函数和select()函数的使用方法

    主要介绍了C语言中getopt()函数和select()函数的使用方法,是C语言入门学习中的基础知识,需要的朋友可以参考下

    Lua select函数用法实例

    主要介绍了Lua select函数用法实例,本文直接给出代码实例,并讲解了select函数的使用技巧,需要的朋友可以参考下

    select函数写的简单聊天室

    用C写的简单聊天室,分为服务器端和客户端。比较好地展示了socket编程中select这个函数的用法。

    Oracle分组函数之ROLLUP的基本用法

    本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from ...

    linux下select和poll的用法

    linux下select和poll的用法,关于设备驱动程序中的select和poll函数的用法。

    MySQL数据库:存储函数调用.pptx

    掌握—— 存储函数的使用方法; 存储函数的查看、调用 查看数据库中的存储函数 语法格式为: SHOW FUNCTION STATUS 调用存储函数 语法格式为: SELECT sp_name ([func_parameter[,...]]) 存储函数创建完后,就如同...

    linux-c.rar_linux c select_linux select_select c语言

    linux c语言 select函数用法

    mobileSelect.js

    一款多功能的移动端滚动选择器,支持单选到多选、...使用方法 引入 1 2 &lt;link rel="stylesheet" type="text/css" href="css/mobileSelect.css"&gt; &lt;script src="js/mobileSelect.js" type="text/javascript"&gt;&lt;/script&gt;

    select详解

    通过udp协议的同时收发数据来说明select的用法,代码用C语言编写,在linux下直接用gcc编译就行,,如果编译的是udp_pthread.c 记得加上-lpthread

    linux 下socket通信中select的用法实例

    可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件...

    Pytorch mask_select 函数的用法详解

    今天小编就为大家分享一篇Pytorch mask_select 函数的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    sql server 自定义函数

    用户自定义函数 在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能。...句包含一条单独的select语句。 多语句表值函数:返回值是由选择的结果构成的记录集。

    select 的用法

    网络编程select函数的详细讲解!select函数是一个使用起来很复杂的函数。

    关于decode函数的使用

    主要作用:将查询结果翻译成其他值(即以...使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column,

    SELECT语句高级用法

    SELECT语句高级用法1,使用group by 子句group by 子句将表分为几组,此子句通常与为每个这样的组生产总结值的聚集函数组合。使用不带聚集的group by 子句与在select 子句中使用的distinct(或unique)关键字很相 ...

    socket编程中select的使用

    可是使用 Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不 同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件...

Global site tag (gtag.js) - Google Analytics