unix高级编程-多路IO select
来源:互联网 发布:ubuntu 共享 usb 网络 编辑:程序博客网 时间:2024/04/27 17:24
大内培训:
#include <sys/select.h>#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
mkfifo("pipe1",0644);
mkfifo("pipe2",0644);
int fd1=open("pipe1",O_RDWR);
int fd2=open("pipe2",O_RDWR);
fd_set fs;
struct timeval timeout={0,0};
while(1)
{
FD_ZERO(&fs);
FD_SET(fd1,&fs);
FD_SET(fd2,&fs);
FD_SET(STDIN_FILENO,&fs);
char buf[1000];
if(select(fd2+1,&fs,NULL,NULL,&timeout)>0){
if(FD_ISSET(0,&fs)){
scanf(" %[^\n]",buf);
if(strcmp(buf,"quit")==0) break;
puts(buf);
}
if(FD_ISSET(fd1,&fs)){
int n=read(fd1,buf,sizeof(buf)-1);
buf[n]='\n';
printf("pipe1:%s",buf);
}
if(FD_ISSET(fd2,&fs)){
int n=read(fd2,buf,sizeof(buf)-1);
buf[n]='\n';
printf("pipe2:%s",buf);
}
}
}
close(fd1);
close(fd2);
unlink("pipe1");
unlink("pipe2");
}
0 0
- unix高级编程-多路IO select
- unix环境高级编程--IO
- unix环境高级编程笔记--高级IO
- unix环境高级编程-高级IO
- unix环境高级编程之unbuffered io
- 终端IO--unix环境高级编程读书笔记
- 《UNIX环境高级编程》笔记--终端IO
- unix环境高级编程-文件IO
- unix环境高级编程-文件IO
- unix环境高级编程-标准IO
- UNIX环境高级编程---------文件IO
- UNIX 环境高级编程 -- 标准IO 未完
- 3.UNIX 环境高级编程--文件 IO
- Unix环境高级编程学习笔记(九) 高级IO
- 高级IO(一)--UNIX环境高级编程读书笔记
- unix环境高级编程-高级IO(2)
- 《UNIX环境高级编程》第14章 高级IO
- UNIX环境高级编程——select、poll和epoll
- fix bug 的五个阶段
- 浅谈UML
- c# static那些事
- HDU2067 小兔的棋盘
- YARN集群维护部分问题汇总
- unix高级编程-多路IO select
- CentOS的u盘安装有u盘才启动,没有u盘无法启动。
- HDU2068 RPG的错排
- 时间设置和日期设置
- eCos系统的VSR支持(VSR Support)
- 《学习OpenCV》练习6-2
- [树状数组]POJ 1195 Mobile phones
- 对于"第一次创业者"应该给什么样的建议
- HDU2079 选课时间