linux fifo
2014-04-10 20:38
316 查看
//fifo_write.c #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <string.h> #include <fcntl.h> #define FIFO_SERVER "/tmp/myfifo" int main(int argc,char **argv[]) { int fd; int writenum; char buf[100]; if(mkfifo(FIFO_SERVER,O_CREAT|O_EXCL|O_RDWR)<0) printf("creak fifo failure!\n"); else printf("creak fifo success!\n"); if((fd=open(FIFO_SERVER,O_RDWR))>0) { if(argc<2) { printf("input somethings!\n"); close(fd); exit(0); } else { printf("open FIFO SERVER success!\n"); if((writenum=write(fd,argv[1],10))>0) printf("write FIFO SERVER success!,number=%d\n",writenum); else if(writenum==0) printf("write FIFO SERVER empty!\n"); else printf("write FIFO SERVER failure!\n"); } } else { printf("open FIFO SERVER failure!\n"); exit(1); } close(fd); return 0; }
//fifo_read.c #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <string.h> #include <fcntl.h> #define FIFO_SERVER "/tmp/myfifo" int main(int argc,char **argv[]) { int fd; int readnum; char buf[100]; if((fd=open(FIFO_SERVER,O_RDWR))>0) { printf("open FIFO SERVER success!\n"); } else { printf("open FIFO SERVER failure!\n"); exit(1); } while(1) { memset(buf,0,100); if((readnum=read(fd,buf,100))>0) printf("read from FIFO SERVER success!number=%d,data=%s\n",readnum,buf); else if(readnum==0) printf("read nothing!\n"); else printf("error\n"); printf("reading FIFO SERVER!\n"); sleep(1); } close(fd); return 0; }
相关文章推荐
- linux 管道
- linux时间编程
- linux文件编程- C库
- Linux-正则表达式-反选练习
- 一个linux兼容性问题的探讨---SElinux
- 如何在centos6.4上安装git How To Install Git on a CentOS 6.4 VPS
- linux 命令与文件的搜寻
- linux下录音并使用google API变文本
- Linux文件编程--系统调用
- linux文件权限学习 包括 特殊权限
- Linux创建快捷方式(链接)命令ln
- ubuntu 12.04 13.10 安装 cuda 5.5
- 5个需要更多关爱的Linux发行版
- Linux内核及文件系统移植之jffs2烧录后无法启动
- linux 下root用户和user用户的相互切换 (ubuntu 12.04)
- Linux终端下安装jdk
- Linux命令及Linux终端的20个趣事
- linux 目录配置的依据 -- FHS
- linux设备驱动入门,最简单的LED驱动,基于tq2440
- linux的openfire运行日志配置经历