创建一个父子进程,父进程拷贝文件的前一部分,子进程拷贝文件的后一部分
#include <25head.h>
int main(int argc, const char *argv[])
{
int fd = open("22", O_RDONLY);
if(-1==fd)
ERR_MSG("open error");
off_t size = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET);
pid_t pid =fork();
if(pid>0)
{
int fd1 = open("33", O_WRONLY | O_CREAT | O_TRUNC, 0777);
if(-1==fd1)
ERR_MSG("open error");
off_t s=0;
while(s<size/2)
{
char a;
read(fd,&a,1);
write(fd1,&a,1);
s++;
}
close(fd1);
}
else if(pid==0)
{
sleep(1);
int fd1 = open("33", O_WRONLY | O_APPEND);
if(-1==fd1)
ERR_MSG("open error");
off_t s=size/2;
lseek(fd, s, SEEK_SET);
while(s<=size)
{
char a;
read(fd,&a,1);
write(fd1,&a,1);
s++;
}
close(fd1);
}
else
ERR_MSG("fork error");
close(fd);
return 0;
}