#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<wait.h>
#define MAX_LINE 80
void main()
{
int MyPipe[2],ret;
char buf[MAX_LINE + 1];
const char *testbuf = "test string!";
if( pipe ( MyPipe ) == 0 ){
if( fork() == 0){
close(MyPipe[1]);
sleep(2);
ret = read( MyPipe[0] , buf , MAX_LINE );
buf[ret] = 0;
printf("Child read %s \n", buf);
printf("子进程读取数据成功!\n");
close(MyPipe[1]);
exit(1);
}
else
if( fork() == 0){
close(MyPipe[0]);
ret = write( MyPipe[1] , testbuf , strlen(testbuf) );
printf("父进程写管道成功!\n");
close(MyPipe[1]);
printf("父进程关闭写管道成功!\n");
sleep(2);
}
}
return 0;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。