利用管道实现进程间通信

[TOC]

管道通信 匿名管道 创建匿名管道

.
: int pipe(int pipefd[2]);
pipefd[0] : 表示读管道
pipefd[1] : 表示写管道
返回 0表示成功,非零表示创建失败。

代码事例
:

//匿名管道 int main() { int fds[2]; int len; char buf[100]={}; if(pipe(fds)==-1) //创建管道 perror("pipe"),exit(1); while(fgets(buf,100,stdin)) { len = strlen(buf); if(write(fds[1],buf,len)==-1) //把内容写进管道 perror("write"),exit(1); memset(buf,0x00,sizeof(char)*100); if(read(fds[0],buf,len)==-1) //从管道里面读取内容到数组中 perror("read"),exit(1); if(write(1,buf,len)==-1) //把从管道里读出的内容写到标准输出 perror("write"),exit(1); } return 0; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydfjd.html