exp2c.c
来自「linux编程 操作系统试验报告」· C语言 代码 · 共 43 行
C
43 行
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
int main()
{
int fd1[2];
int fd2[2];
char word[2];
pid_t pid;
int n;
int i;
if(pipe(fd1)<0)//创建管道
printf("PIPE1 ERROR\n");
else if(pipe(fd2)<0)
printf("PIPE2 ERROR\n");
else if((pid=fork())<0)
printf("FORK ERROR\n");
else
for(i=0;i<10;i++)
{
if(pid>0)
{
close(fd1[0]);//关闭读端
write(fd1[1],"P\n",2);//写1管道
close(fd2[1]);
n=read(fd2[0],word,2);//读2管道
write(STDOUT_FILENO,word,n);//输出到屏幕
}
else
{
close(fd1[1]);
n=read(fd1[0],word,2);//读2管道
write(STDOUT_FILENO,word,n);
close(fd2[0]);
write(fd2[1],"C\n",2);//写1管道
}
}
exit(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?