select函数的使用举例
2016-06-12 01:51
411 查看
#include <sys/types.h> #include <sys/time.h> #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> #include <unistd.h> int main() { char buffer[128]; int result, nread; fd_set inputs, testfds; struct timeval timeout; FD_ZERO(&inputs);//用select函数之前先把集合清零 FD_SET(0, &inputs);//把要检测的句柄——标准输入(0),加入到集合里。 while(1) { testfds = inputs; timeout.tv_sec = 2; timeout.tv_usec = 500000; result = select(FD_SETSIZE, &testfds, (fd_set *)0, (fd_set *)0, &timeout); switch(result) { case 0: printf("timeout\n"); break; case -1: perror("select\n"); return 1; default: if(FD_ISSET(0, &testfds)) { ioctl(0, FIONREAD, &nread);//取得从键盘输入字符的个数,包括回车。 if(nread == 0) { printf("keyboard done\n"); return 0; } nread = read(0, buffer, nread); buffer[nread] = 0; printf("read %d from keyboard: %s", nread, buffer); } break; } } return 0; }
学习资料参考于:
http://blog.csdn.net/piaojun_pj/article/details/5991968
相关文章推荐
- Android Simple And Powerful Cache Manager
- input 默认值为灰色,输入时清楚默认值
- [概念]像素,分辨率
- Word Search
- grouth:全栈工程师指南
- mysql教程
- CSDN第一篇:处女座
- 固定比例01环的均匀分布问题
- 典型用户
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- Python实现N阶台阶的走法问题
- zabbix
- Python实现N阶台阶的走法问题