(1) 有名管道:
(2) FIFO文件对比普通文件
5.2创建有名管道
5.2.1 函数名
mkfifo
5.2.2 函数原形
int mkfifo(const char*pathname,mode_t mode)
5.2.3 函数功能
创建fifo文件(有名管道)
5.2.4 所属头文件
#include <sys/types.h>
#include <sys/stat.h>
5.2.5 返回值
成功:0
失败:-1
5.2.6 参数说明
pathname:要创建的fifo文件的名字(带路径)
mode:创建的fifo文件的访问权限
5.3删除有名管道
5.3.1 函数名
unlink
5.3.2 函数原形
int unlink(const char*pathname)
5.3.3 函数功能
删除文件
5.3.4 所属头文件
#include <unistd.h>
5.3.5 返回值
成功:0
失败:-1
5.3.6 参数说明
pathname:用来指明要删除的文件名字(含路径)
程序实例:
fifo_write.c文件
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(void)
{
int fd;
int ret;
/*1. create fifo file*/
mkfifo("/tmp/myfifo",0666);
/*2. open filo file*/
fd = open("/tmp/myfifo",O_WRONLY);
/*3. write date to fifo file */
ret = write(fd,"hello fifo",11);
close(fd);
return 0;
}
fifo_read.c文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
int main(void)
{
char c_buf[15];
int fd;
fd = open("/tmp/myfifo",O_RDONLY);
read(fd, c_buf,11);
printf("read %s\n",c_buf);
close(fd);
unlink("/tmp/myfifo");
return 0;
}