为什么我接收不到子进程传入匿名管道的数据捏?
效果是这样的:
我的代码是这样的
int main()
{
int pipefd[2];
int ret1=pipe(pipefd);
if(ret1==-1)
{
perror("pipe");
exit(0);
}
pid_t pid=fork();
if(pid>0)
{
sleep(1);
cout<<"父进程读取到的数据为:";
string n;
int len=read(pipefd[0],&n,sizeof(n));
if(len==-1)
{
perror("read");
exit(0);
}
cout<<n<<endl;; }
else if(pid==0)
{
cout<<"I am child,pid is :"<<getpid()<<endl;
string m="abcdefg";
write(pipefd[1],&m,m.size());
}
return 0;
}