#include <my_head.h>
int main(int argc, const char *argv[])
{
int pfd[2]={0};
char buf[128]="";
if (pipe(pfd) == -1)
{
perror("pipe create error");
return -1;
}
pid_t pid = fork();
if (pid < 0)
{
perror("create error");
return -1;
}
if (pid == 0)
{
read(pfd[0], buf, 128);
printf("接收子进程: %s\n", buf);
bzero(buf,sizeof(buf));
printf("发送子进程:");
fgets(buf,sizeof(buf),stdin);
buf[strlen(buf)-1] = 0;
write(pfd[1], buf, sizeof(buf));
close(pfd[1]);
}
else
{
bzero(buf,sizeof(buf));
printf("发送父进程:");
fgets(buf,sizeof(buf),stdin);
buf[strlen(buf)-1] = 0;
write(pfd[1], buf, sizeof(buf));
wait(NULL);
read(pfd[0], buf, 128);
printf("接收父进程:%s\n", buf);
close(pfd[1]);
}
return 0;
}
10.3国庆作业
最新推荐文章于 2024-07-20 09:08:34 发布