使用多进程完成两个文件的拷贝,父进程拷贝前一半,子进程拷贝后一半,父进程回收子进程的资源
(错误,没写对)
#include<myhead.h>
int main(int argc, const char *argv[])
{
FILE *fp=NULL;
if((fp=fopen("./01tex.tex","a+"))==NULL)
{
perror("fopen error");
return -1;
}
char str[128]="";
printf("please enter str\n");
fgets(str,sizeof(str),stdin);
fputs(str,fp);
pid_t a=fork();
if(a>0)
{
printf("父进程\n");
char str1[128]="";
fseek(fp,strlen(str),SEEK_SET);
fgets(str1,strlen(str)/2,fp);
fputs(str1,stdout);
//fwrite(str1,1,strlen(str)/2,stdout);
exit(0);
}else if(a==0)
{
printf("子进程\n");
char str2[128]="";
fseek(fp,strlen(str)/2,SEEK_SET);
fgets(str2,strlen(str)/2,fp);
fputs(str2,stdout);
exit(0);
}else
printf("创建子进程失败\n");
wait(NULL);
fclose(fp);
return 0;
}