管道输出问题
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#define MAXLINE 20
int main()
{
int n1,n2,fd[2];
pid_t pid;
char line[MAXLINE];
char line2[MAXLINE];
if(pipe(fd)<0)
printf("pipe error");
if((pid=fork())<0)
printf("fork error");
else if(pid>0){ //parent
write(fd[1],"how are you?\n",MAXLINE);
wait();
n1=read(fd[0],line2,MAXLINE);
write(STDOUT_FILENO,line2,n1);
}else{
//close(fd[1]);
n2=read(fd[0],line,MAXLINE);
write(STDOUT_FILENO,line2,n2);
write(fd[1],"fine,thanks\n",MAXLINE);
}
exit(0);
}
输出怎么会这样?
?慷褸4k@怈fine,thanks