io240509

创建一对父子进程:
父进程负责向文件中写入 长方形的长和宽
子进程负责读取文件中的长宽信息后,计算长方形的面积

int main(int argc, const char *argv[])
{
	int retval=fork();  //创建进程,返回值给retval
	if(retval>0){  //父进程返回值是 PID 进程号

		// 使用文件io 方式,创建TXT文件写入权限
		int wfd=open("./text.txt",O_WRONLY | O_CREAT | O_TRUNC,0666);
		int arr[2]={0};  //使用数组方便 区分 长宽
		printf("请输入长和宽:");  //终端提示文字
		scanf("%d %d",arr,arr+1);  //分别赋值
		while(getchar()!='\n');  //接收垃圾信息
		write(wfd,arr,sizeof(arr));  //写入文件里
		close(wfd);  //关闭文件
		sleep(3);  //休眠等待 3 秒
	}
	else if(retval==0){
		sleep(3);  //休眠等待 3秒,方便父级写入文件
		int arr[2]={0};  //创建数组,方便赋值
		int rfd=open("./text.txt",O_RDONLY);  //用文件io 方式读取内容
		read(rfd,arr,sizeof(arr));  //开始读取
		int a=arr[0]*arr[1];  //计算面积
		printf("长度%d 宽度%d 面积%d\n",arr[0],arr[1],a);  //标准输出
		close(rfd);  //关闭文件
	}
	else if(retval==-1){  //判断进程创建失败
		perror("fork");  //打印失败错误原因
	}
	return 0;
}

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值