设计两个程序,要求用命名管道FIFO,实现进程间的文件传输功能,即实现进程A将文件file1的内容复制给进程B。file1是已经存在的文件,file2可以不存在,如果存在就清空原来的内容。
接下来让我们了解一下有名管道的使用.
我们先以一个简单的例子来熟悉FIFO的使用.
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <string.h>
int main()
{
int pid;
int fd;
mkfifo("./named_pipe", 0777);
pid = fork();
if(pid > 0)
{
fd = open("./named_pipe", O_WRONLY);
char buf[20] = "Hello world!";
write(fd, buf, strlen(buf) + 1);
close(fd);
}
else if(pid == 0)
{