Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128027
  • 博文数量: 30
  • 博客积分: 972
  • 博客等级: 中士
  • 技术积分: 332
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-08 10:04
文章分类

全部博文(30)

文章存档

2012年(30)

分类: C/C++

2012-06-18 20:08:05

/* ************************************************************************
 *       Filename:  Peter.c
 *    Description: 
 *        Version:  1.0
 *        Created:  2012年06月18日 16时32分13秒
 *       Revision:  none
 *       Compiler:  gcc
 *         Author:  YOUR NAME (),
 *        Company: 
 * ************************************************************************/
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
 pid_t pid;
 char buf[50]="";
 int fd_lp,fd_pl,n;
 if((mkfifo("./l_t_p",0666)) < 0)
  perror("mkfifo");
 if((mkfifo("./p_t_l",0666)) < 0)
  perror("mkfifo");
  fd_lp=open("./l_t_p",O_RDONLY);
  fd_pl=open("./p_t_l",O_WRONLY);
  printf("Hi,I am Peter.\n");
 if((pid=fork()) < 0)
 {
  perror("file");
  exit(-1);
 }
 if(pid == 0)
 {
  while(1)
  {
   printf("Peter:");
   fflush(stdout);
   fgets(buf,50,stdin);
   write(fd_pl,buf,50);
  }
 
 }
 if(pid > 0)
 {
  while(1)
  {
   if((n=read(fd_lp,buf,sizeof(buf)) > 0))
   {
   printf("\rLucy:%s",buf);
   fflush(stdout);
   printf("Peter:");
   fflush(stdout);
   }
  }
 }
 return 0;
}

 
 
/* ************************************************************************
 *       Filename:  Lucy.c
 *    Description: 
 *        Version:  1.0
 *        Created:  2012年06月18日 16时32分13秒
 *       Revision:  none
 *       Compiler:  gcc
 *         Author:  YOUR NAME (),
 *        Company: 
 * ************************************************************************/
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
 pid_t pid;
 char buf[50]="";
 int fd_lp,fd_pl,n;
 if((mkfifo("./l_t_p",0666)) < 0)
  perror("mkfifo");
 if((mkfifo("./p_t_l",0666)) < 0)
  perror("mkfifo");
 fd_lp=open("./l_t_p",O_WRONLY);
 fd_pl=open("./p_t_l",O_RDONLY);
 printf("Hi,I am Lucy.\n");
 if((pid=fork()) < 0)
 {
 perror("file");
 exit(-1);
 }
 if(pid == 0)
 {
  while(1)
  {
   printf("Lucy:");
   fflush(stdout);
   fgets(buf,50,stdin);
   write(fd_lp,buf,50);
  }
 
 }
 if(pid > 0)
 {
 while(1)
  {
  if((n=read(fd_pl,buf,sizeof(buf))) > 0)
   {
   printf("\rPeter:%s",buf);
   fflush(stdout);
   printf("Lucy:");
   fflush(stdout);
   }
  }
 }
 return 0;
}

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