创建子父进程,子进程将1.txt内容拷贝到2.txt中,父进程将3.txt内容拷贝到4.txt中。
#include<stdio.h>
#include<string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
int main(int argc, const char *argv[])
{
pid_t pid=fork();
if(pid>0)
{
int df1=open("./3.txt",O_RDONLY);
int df2=open("./4.txt",O_WRONLY|O_TRUNC|O_CREAT,0664);
if(df1==-1)
{
perror("df1");
return -1;
}
if(df2==-1)
{
perror("df2");
return -1;
}
char a[1024];
while(1)
{
if(read(df1,a,1)==0)
{
break;
}
write(df2,a,1);
}
printf("父进程复制成功\n");
close(df1);
close(df2);
}
else if(pid==0)
{
int df3=open("./1.txt",O_RDONLY);
int df4=open("./2.txt",O_WRONLY|O_TRUNC|O_CREAT,0664);
char a[1024];
if(df3==-1)
{
perror("df3");
return -1;
}
if(df4==-1)
{
perror("df4");
return -1;
}
while(1)
{
if(read(df3,a,1)==0)
{
break;
}
write(df4,a,1);
}
printf("子进程复制成功\n");
close(df3);
close(df4);
}
else
{
perror("pid");
return -1;
}
return 0;
}