```cpp
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
int main(void)
{
int fd[2];
pid_t pid;
int ret=pipe(fd);
if(ret==-1)
{
perror("pipe error\n");
exit(1);
}
pid=fork();
if(pid==-1)
{
perror("fork error\n");
exit(1);
}else if(pid==0)
{
close(fd[1]);
char buf[1024];
ret= read(fd[0],buf,sizeof(buf));
if(ret==0)
{
printf("----\n");
}
write(STDOUT_FILENO,buf,ret);
}else if(pid>0)
{
close(fd[0]);
char *str="hello pipe\n";
write(fd[1],"hello pipe\n",strlen("hello pipe\n"));
}
}