创建子父进程,子进程将1.txt内容拷贝到2.txt中,父进程将3.txt内容拷贝到4.txt中。
#include <stdio.h>
#include <string.h>
#include <myhead.h>
int main(int argc,const char*argv[])
{
pid_t ID;
ID = fork();
if(ID>0)父程序
{
int fp1 = open("./3.txt",O_RDONLY);
int fp2 = open("./4.txt",O_CREAT|O_TRUNC|O_WRONLY,0664);
if(fp1==-1)
{
perror("fopen");
return -1;
}
if(fp2==-1)
{
perror("fopen");
return -1;
}
int s[100];
int len;
while((len=read(fp1,s,sizeof(s))))
{
if(write(fp2,s,len)!=len)
{
perror("fwrite");
close(fp1);
close(fp2);
return -1;
}
}
close(fp1);
close(fp2);
}
else if(ID==0)子程序
{
int fp1 = open("./1.txt",O_RDONLY);
int fp2 = open("./2.txt",O_CREAT|O_TRUNC|O_WRONLY,0664);
if(fp1==-1)
{
perror("fopen");
return -1;
}
if(fp2==-1)
{
perror("fopen");
return -1;
}
int s[100];
int len;
while((len=read(fp1,s,sizeof(s))))
{
if(write(fp2,s,len)!=len)
{
perror("fwrite");
close(fp1);
close(fp2);
return -1;
}
}
close(fp1);
close(fp2);
}
return 0;
}