ppipe.c

来自「操作系统中进程通信的说明性实验程序」· C语言 代码 · 共 59 行

C
59
字号
#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(int argc,char *argv[]){int pid;int pipe1[2];int pipe2[2];int x;if(pipe(pipe1)<0){perror("pipe not create");exit(EXIT_FAILURE);}if(pipe(pipe2)<0){perror("pipe not create");exit(EXIT_FAILURE);}if((pid=fork())<0){perror("pipe not create");exit(EXIT_FAILURE);}else if(pid==0){close(pipe1[1]);close(pipe2[0]);do{read(pipe1[0],&x,sizeof(int));printf("child%dread:%d\n",getpid(),x++);write(pipe2[1],&x,sizeof(int));}while(x<=9);close(pipe1[0]);close(pipe2[1]);exit(EXIT_SUCCESS);}else{close(pipe1[0]);close(pipe2[1]);x=1;do{write(pipe2[1],&x,sizeof(int));read(pipe1[0],&x,sizeof(int));printf("parent%dread:%d\n",getpid(),x++);}while(x<=9);close(pipe1[1]);close(pipe2[0]);}return EXIT_SUCCESS;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?