命名管道的Linux实例
此示例代码意在体现出命名管道与普通管道的区别,命名管道是以一个普通文件的形式出现的,包括三个文件操作:创建命名管道、写管道、读管道。
1. 创建命名管道
#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<fcntl.h>int main(void){ char buf[80]; int fd; unlink(zieckey_fifo); mkfifo(zieckey_fifo,0777);}写命名管道代码 #include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<fcntl.h>int main(void){ int fd; chars[]=Hello!\n; fd=open(zieckey_fifo,O_WRONLY); while(1) { write(fd,s,sizeof(s)); sleep(1); } return 0;}读命名管道代码 #include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<fcntl.h>int main(void){ int fd; char buf[80]; fd=open(zieckey_fifo,O_RDONLY); while(1) { read(fd,buf,sizeof(buf)); printf(%s\n,buf); sleep(1); } return0;}
2023-07-25 广告