2024-2-20-IO进程线程作业

1>

源代码:

#include <myhead.h>

int main(int argc, const char *argv[])
{
	pid_t pid = -1;
	FILE *src = NULL;
	FILE *dest = NULL;
	if ((src = fopen("./base.txt", "r")) == NULL)
	{
		perror("fopen error");
		return -1;
	}
	fseek(src, 0, SEEK_END);
	fseek(src, 0, SEEK_SET);

	char buf1[64] = "";
	char buf2[64] = "";
	int size = ftell(src);
	//创建一个子进程
	pid = fork();

	//判断父子进程执行的程序代码
	if (pid > 0)
	{

		int i = 0;
		printf("我是父进程,当前进程id号:%d,ppid=%d, childid=%d\n", getpid(),
			   getppid(), pid);

		if ((dest = fopen("./aim1.txt", "w")) == NULL)
		{
			perror("fopen error");
			return -1;
		}
		while ((fgets(buf1, sizeof(buf1) - 1, src)) != NULL && i++ <= size / 2)
		{
			fputs(buf1, dest);
		}
	}
	else
	{
		int j = size / 2;
		fseek(dest,size/2,SEEK_END);
		printf("我是子进程当前进程id号:%d,ppid = %d\n", getpid(), getppid());

		if ((dest = fopen("./aim2.txt", "w")) == NULL)
		{
			perror("fopen error");
			return -1;
		}
		fseek(src, size / 2, SEEK_SET);
		while ((fgets(buf2, sizeof(buf2) - 1, src)) != NULL && j++ <= size)
		{
			fputs(buf2, dest);
		}
	}

	wait(NULL); //阻塞等待子进程结束
	printf("已经成功回收子进程\n");
	fclose(src);
	fclose(dest);

	return 0;
}

效果图:

2>思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/398346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿赵UE学习笔记——15、灯光的移动性概念和构建光照信息

阿赵UE学习笔记目录   大家好&#xff0c;我是阿赵。   继续学习虚幻引擎&#xff0c;这次来学习一下UE里面灯光的移动性概念和构建光照信息。 1、灯光移动性 打开一个带有灯光的场景 在大纲面板里面找到其中一个灯光&#xff1a; 会发现灯光的细节面板里面&#xff0c;…

Windows 自带的 Linux 子系统(WSL)安装与使用

WSL官网安装教程&#xff1a; https://learn.microsoft.com/zh-cn/windows/wsl/install Windows 自带的Linux子系统&#xff0c;比用VM什么的香太多了。可以自己看官方教程&#xff0c;也可以以下步骤完成。 如果中间遇到我没遇到的问题百度&#xff0c;可以在评论区评论&#…

【Python】【VS Code】VS Code中python.json和setting.json文件配置说明

目录 1. python.json配置 2. setting.json配置 3. 解决中文乱码 4. 实现效果 1. python.json配置 python.json 获取步骤&#xff1a;文件 -> 首选项 -> 配置用户代码片段 -> python 此为VS Code的头文件设置&#xff0c;复制以下内容到 python.json {"HEADER…

【字符串题目讲解】一文理解 Manacher Algoirth(马拉车算法)——以洛谷 P3805 和 P5446 为例

M a n a c h e r A l g o r i t h m \mathrm{Manacher\ Algorithm} Manacher Algorithm Manacher 算法主要是解决怎样的问题呢&#xff0c;其实是求解最长的回文串&#xff0c;但是只能找到长度为奇数的回文串&#xff0c;不过可以通过转化使得能够求解任意长度的回文串。 例…

【9】知识存储

一、图数据库neo4j Neo4j是一个高性能的,NOSQL图形数据库&#xff0c;它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。单节点的服务器可承载上亿级的节点和关系&#xff0c;单节点性能不够时也可进行分布式集群部…

基于bloomz-7b指令微调的中文医疗问诊大模型,实现智能问诊、医疗问答

基于bloomz-7b指令微调的中文医疗问诊大模型&#xff0c;实现智能问诊、医疗问答 码源见文末 1.项目简介 本项目开源了基于医疗指令微调的中文医疗问诊模型&#xff1a;明医 (MING)。目前模型的主要功能如下&#xff1a; 医疗问答&#xff1a;对医疗问题进行解答&#xff0…

python 多线程+队列的简单应用

在实际处理需求的过程中&#xff0c;博主比较偏爱使用多线程threading 队列queue的方式 去开发代码。 &#xff08;本文注重的是搭建模板框架&#xff0c;仅供参考&#xff09; 举例&#xff1a; 以豆瓣电影的排行为例&#xff0c;写个简单的demo。 豆瓣链接&#xff1a;ht…

基于用Python对电商销售数据分析展示项目

项目背景 假设您有一个电商网站的销售数据集&#xff0c;包含用户购买记录、产品信息和销售时间等信息。您希望通过数据分析来找出哪些产品销售最好&#xff0c;以及哪些用户群体对哪些产品更感兴趣。 目录 项目背景 项目流程 数据收集和导入 数据集示例&#xff08;CSV格式…

IO 作业 24/2/20

一、思维导图 二、习题 #include <myhead.h> int main(int argc, const char *argv[]) {FILE *fpNULL;FILE *fqNULL;pid_t pidfork();if(pid>0){if((fpfopen("./text.txt","r"))NULL){perror("fopen error");return -1;} if((f…

【2024软件测试面试必会技能】Jmeter_性能测试(3):性能测试脚本的制作和调试

Charles Jmeter的性能测试脚本的制作和调试 以PHP论坛为例&#xff1a;http://47.107.178.45/phpwind/ Charles抓包 1、charles设置过滤&#xff1b;可参考&#xff1a;https://www.cnblogs.com/YouJeffrey/p/15334939.html 2、对于抓包操作进行备注 3、去掉资源文件&…

AS-V1000 视频监控平台产品介绍:客户端功能介绍(四)

目 录 一、引言 1.1 AS-V1000视频监控平台介绍 1.2平台服务器配置说明 二、软件概述 2.1 客户端软件用途 2.2 客户端功能 三、客户端功能说明 3.1告警管理 3.1.1告警联动 &#xff08;1&#xff09;告警联动显示 &#xff08;2&#xff09;告警联动处理 3…

Packet Tracer - 配置 IPv4 和 IPv6 接口

地址分配表 目标 第 1 部分&#xff1a;配置 IPv4 编址并验证连接第 2 部分&#xff1a;配置 IPv6 编址并验证连接背景信息 路由器 R1 和 R2 分别有两个 LAN。 您的任务是在每台设备上配置合适的编址并验证 LAN 之间的连接。 注&#xff1a;用户 EXEC 密码是 cisco。 特权 E…

单片机学习笔记---红外遥控红外遥控电机调速(完结篇)

目录 低电平触发中断和下降沿触发中断的区别 红外遥控 Int0.c Int.h Timer0.c Timer0.h IR.c IR.h main.c 红外遥控电机调速 Timer1.c Timer.h Motor.c Motor.h main.c 上一节讲了红外发送和接收的工作原理&#xff0c;这一节开始代码演示&#xff01; 提前说…

软件安装遇到bug、报错不知道怎么解决?赶紧收藏起来!

前言 本文举例了几个常见的软件工具使用问题&#xff0c;文末会提供一些我自己整理和使用的工具资料 。 "在追逐零 Bug 的路上&#xff0c;我们不断学习、改进&#xff0c;更加坚定自己的技术信念。让我们相信&#xff0c;每一个 Bug 都是我们成长的机会。" 一、VM…

Microsoft Visio 摄像机图标

Microsoft Visio 摄像机图标 1. 更多形状 -> 搜索形状2. 摄像机References 1. 更多形状 -> 搜索形状 2. 摄像机 ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

2024云服务器ECS新老用户优惠价格表,收费更新

2024年阿里云服务器租用价格表更新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

h5页面实现图片局部热区跳转

之前没有了解过图片局部热区跳转这种样式&#xff0c;百度搜索实现方法发现两种方法。所谓图片热区跳转就是用户点击图片中的某些区域可以跳转到不同的页面&#xff0c;如下图&#xff0c;点击“舞动人生馆”可以跳转到舞动人生对应的活动页面&#xff0c;点击展望美好馆可以跳…

【嵌入式学习】QT-Day1-Qt基础

笔记 https://lingjun.life/wiki/EmbeddedNote/20QT 毛玻璃登录界面实现&#xff1a;

Android的Compose

Jetpack Compose 是用于构建原生 Android 界面的新工具包&#xff0c;无需修改任何 XML 布局&#xff0c;也不需要使用布局编辑器。相反&#xff0c;只需调用可组合函数来定义所需的元素&#xff0c;Compose 编译器即会完成后面的所有工作。 简而言之&#xff0c;使用Compose&…

【论文精读】ESViT

摘要 基于transformer的SSL方法在ImageNet线性检测任务上取得了最先进的性能&#xff0c;其关键原因在于使用了基于对比学习方法训练单尺度Transformer架构。尽管其简单有效&#xff0c;但现有的基于transformer的SSL&#xff08;自监督学习&#xff09;方法需要大量的计算资源…