:Linux之命名管道

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 16:37:46
#include#include#include#include#include#include#include#define FIFO_SERVER "fifoserver"#define BUFFERSIZE 80
void main(){ int fd; int a; char w_buf[BUFFERSIZE]="before read's test.",r_buf[BUFFERSIZE]; char t[]="a test string."; int real_wnum; if((mkfifo(FIFO_SERVER,O_CREAT|O_EXCL)<0)&&(errno!=EEXIST)){ printf("cannot create fifoserver\n"); //exit(0); } printf("fifoserver is created successfull!\n"); fd=open(FIFO_SERVER,O_RDWR); a=fork(); if(a<0){ printf("cannot create process!\n"); //exit(0); }  else   if(a>0){ printf("读数据前缓冲区信息: %s\n",w_buf); read(fd,r_buf,sizeof(w_buf)); printf("读数据后缓冲区信息: %s\n",r_buf); close(fd); } else{ if(fd==-1){ printf("open error!\n"); //exit(-1); } real_wnum=write(fd,t,strlen(t)); if(real_wnum==-1){ printf("write to fifo error!\n"); //exit(-1); } else{ printf("write to fifo success!\n"); } close(fd); }}