写操作:
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
int main()
{
char *str="message from fifo";
int fd=open("./file",O_WRONLY);
printf("write open success\n");
write(fd,str,strlen(str));
close(fd);
return 0;
}
运行效果:
读操作:
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
int main()
{
char buf[30]={0};
if(mkfifo("./file",0600)==-1&&errno==EEXIST)
{
printf("mkfifo failauer\n");
perror("why");
}
int fd=open("./file",O_RDONLY);
printf("open success\n");
int n_read=read(fd,buf,30);
printf("read %d byte from fifo,context:%s\n",n_read,buf);
close(fd);
return 0;
}
运行效果:
O_WRONLY:以写的方式打开
O_RDONLY: 以读的方式打开
——@上官可编程