📄 exp2c.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -