2024.2.20 IO进程线程

思维导图

使用多进程完成两个文件的拷贝,父进程拷贝前一半,子进程拷贝后一半,父进程回收子进程的资源 

 程序代码:

#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;
}

效果显示:

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值