Chinaunix首页 | 论坛 | 博客
  • 博客访问: 204574
  • 博文数量: 36
  • 博客积分: 2501
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-18 23:27
个人简介

时间就是一切。

文章分类

全部博文(36)

文章存档

2023年(1)

2017年(2)

2016年(6)

2014年(1)

2009年(1)

2008年(15)

2007年(10)

我的朋友

分类: 嵌入式

2016-04-14 21:17:58

#include
#include
#include
#include
#include
void main()
{
  int pipe_fd[2]; // 0 head(read), 1 the tail(write)
  pid_t pid;
  char buf_r[100]={0};
  char char_buf_test[30]={0};
  int int_buf_test[30]={0};
  int r_num;


  //pipe must be create use fork before, Otherwise pipe create two. 
 
  char_buf_test[3]='3';
  char_buf_test[2]='2';
  char_buf_test[1]='1';
  char_buf_test[0]='0';


  int_buf_test[3]=3;
  int_buf_test[2]=2;
  int_buf_test[1]=49;
  int_buf_test[0]=50;
 
  printf("char_buf_test=%s \n", char_buf_test);
  printf("int_buf_test=%c \n", int_buf_test);
  if(pipe(pipe_fd)<0) 
   {
     printf("pipe create error!\n");
     exit(1);
   }
   else
     printf("pipe create success!\n");
   pid = fork();
   if(pid<0)
     printf("pipe create success!\n");
   else if(0==pid)
   {
     close(pipe_fd[0]);
     if(write(pipe_fd[1],"hello",5)!= -1)
       printf("child write hello!\n");
     if(write(pipe_fd[1]," Pipe",5)!= -1) 
       printf("child write pipe!\n");
     close(pipe_fd[1]); 
     sleep(5); 
   }
   else if(pid>0)
   {
     wait(NULL);
     close(pipe_fd[1]);
     r_num=read(pipe_fd[0], buf_r,100);
     if(r_num>0)
printf("r_num= %d buf_r=%s \n",r_num,buf_r);   
     close(pipe_fd[0]);
     exit(0);
   }
}

阅读(1486) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~