[Linux管道和IPC]命名管道操作--命名管道通信接收服务器端
#include<stdio.h>#include<stdlib.h>#include<sys/stat.h>#include<unistd.h>#include<linux/stat.h>#include<errno.h>#defineFIFO_FILE"MYFIFO"//命名管道名称intmain(intargc,char*argv){FILE*fp;charreadbuf[80];//读缓冲区//创建命名管道文件if((fp=fopen(FIFO_FILE,"r"))==NULL){umask(0);mknod(FIFO_FILE,S_IFIFO|0666,0);}else{fclose(fp);//如果存在关闭fp}while(1){//打开命名管道文件if((fp=fopen(FIFO_FILE,"r"))==NULL){printf("打开fifo失败.\n");exit(1);}//从命名管道中读数据if(fgets(readbuf,80,fp)!=NULL){printf("接收到字符串::%s\n",readbuf);fclose(fp);}else{if(ferror(fp))//如果出错{perror("读文件失败.\n");exit(1);}}}return0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。