day3 2/20

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

#include<myhead.h>
int main(int argc, const char *argv[])
{int fd1=-1,fd2=-1;if((fd1=open("./ggb.bmp",O_RDONLY,0664))==-1){perror("open error");return -1;}if((fd2=open("./ggb1.bmp",O_WRONLY|O_CREAT|O_TRUNC,0664))==-1){perror("open error");return -1;}int maxsize=lseek(fd1,0,SEEK_END);//fd1的光标最大值char buf[5];pid_t pid=-1;pid=fork();if(pid>0){int loca=0;lseek(fd1,loca,SEEK_SET);lseek(fd2,loca,SEEK_SET);while(loca<(maxsize/2)){int rew=read(fd1,buf,sizeof(buf));if(rew<=0)break;write(fd2,buf,rew);loca=lseek(fd1,0,SEEK_CUR);}}else if(pid==0){lseek(fd1,0,SEEK_SET);lseek(fd2,0,SEEK_SET);int loca=maxsize/2;while(loca<maxsize){int rew=read(fd1,buf,sizeof(buf));if(rew<0)break;write(fd2,buf,rew);loca=lseek(fd1,0,SEEK_CUR);}exit(EXIT_SUCCESS);}else if(pid<0){perror("fork error");return -1;}int loca=maxsize/2;lseek(fd1,loca,SEEK_SET);while(loca<maxsize){int rew=read(fd1,buf,sizeof(buf));if(rew<=0)break;write(fd2,buf,rew);loca=lseek(fd1,0,SEEK_CUR);}wait(NULL);close(fd1);close(fd2);return 0;
}

 

2>思维导图

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PropertyEditorRegistry与PropertyAccessor的学习

PropertyEditorRegister 简介 PropertyEditorRegistry 是 Spring 框架中的一个接口&#xff0c;它提供了注册和管理 PropertyEditor 的功能。PropertyEditor 是 Java Bean 规范的一部分&#xff0c;用于在不同类型的属性值和字符串之间进行转换。 PropertyEditorRegistry 接…

Go语言中的流程控制

「万事开头难&#xff0c;视频号500粉直播需要你的助力&#xff01;你的支持是我前进的动力&#xff01;」 1、Golang 中的流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分&#xff0c;流程控制可以说是一门语言的“经脉”。Go 语言中最常用的流程控制有 if …

题目 1201: 回文数(一)

题目描述: 若一个数&#xff08;首位不为0&#xff09;从左到右读与从右到左读都是一样&#xff0c;这个数就叫做回文数&#xff0c;例如12521就是一个回文数。 给定一个正整数&#xff0c;把它的每一个位上的数字倒过来排列组成一个新数&#xff0c;然后与原数相加&#xff0…

【案例研习笔记】KodeRover_云时代 DevOps 建设

轻度量、轻流程、重开发者体验生产力工具建设要大于管理工具建设贴合自己业务&#xff0c;不要去求大求全

Ceph入门到精通-更换osd、扩容osd

1. 更换故障盘 1. 1 查看故障盘osd id ceph osd tree1.2 销毁osd ceph osd destroy 60 --yes-i-really-mean-it#ceph osd purge 60 --yes-i-really-mean-it #destroy可以保留osd id&#xff1b;purge不保留osd id1.3 更换故障硬盘 1.4 查看新硬盘盘符 lsblk1.5 擦除新硬盘…

如何使用快手item_search API

要使用快手&#xff08;Kuaishou&#xff09;的 item_search API&#xff0c;你首先需要确保你有访问该API的权限&#xff0c;这通常意味着你需要有一个有效的API密钥&#xff08;API Key&#xff09;和/或访问令牌&#xff08;Access Token&#xff09;。快手API的具体实现细节…

十六、包装类

文章目录 包装类2.1 基本用法2.2 共同点2.3 剖析Character 包装类 本文为书籍《Java编程的逻辑》1和《剑指Java&#xff1a;核心原理与应用实践》2阅读笔记 Java有 8 8 8种基本类型&#xff0c;每种基本类型都有一个对应的包装类。包装类是什么呢&#xff1f;它是一个类&…

SpirngBoot整合Redis解决缓存穿透、缓存击穿、缓存雪崩问题

一、Redis缓存 Redis是一个高性能的键值对存储数据库&#xff0c;也是一个基于内存的数据结构存储系统&#xff0c;同时也支持持久化数据存储。Redis提供了丰富的数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。在缓存方面&#xff0c;Redis最大的优点就是支持…

回避型人格适合什么职业?如何改善回避型人格?

回避型人格最突出的特点,就是对外界的排斥极度敏感&#xff0c;他们非常害怕别人的不认可&#xff0c;也特别害惧失败&#xff0c;因此不敢与人交往&#xff0c;同时也害怕新事物。因为受到这一性格的影响&#xff0c;他们极度缺乏社交能力&#xff0c;也一直在否定自身能力。 …

Flutter框架性泛学习系列之二、Flutter应用层(Application Layer)上-常用Widgets与简单动画

文章目录 概述一、应用程序&#xff08;Application&#xff09;&#xff1a;1、创建应用对象2、定义应用主页 二、Widgets&#xff1a;1. 基础的内置Widgets应用1.1 Text Widget1.2 RaisedButton Widget1.3 Image Widget1.4 Icon Widget 2. 自定义Widgets的创建与应用2.1 创建…

网络协议汇总

1.HTTP协议 1.认识URL 平时我们俗称的 "网址" 其实就是说的 URL URL中的字符只能是ASCII字符&#xff0c;但是ASCII字符比较少&#xff0c;而URL则常常包含ASCII字符集以外的字符&#xff0c;如非英语字符、汉字、特殊符号等等&#xff0c;所以要对URL进行转换。这个…

已解决Application run failed org.springframework.beans.factory.BeanNot

问题原因&#xff1a;SpringBoot的版本与mybiats-puls版本不对应且&#xff0c;spring自带的mybiats与mybiats-puls版本不对应 这里我用的是3.2.2版本的SpringBoot&#xff0c;之前mybiats-puls版本是3.5.3.1有所不同。 问题&#xff1a;版本对不上 解决办法&#xff1a;完整…

将JWT令牌存储到浏览器中localStorage中,并且往页面请求头中添加token

将JWT令牌存储到浏览器中localStorage中 localStorage.setItem(token, response.data.data) 其中response.data.data是后端返回的数据为jwt字符串 往页面请求头中添加token 在vue中的main.js添加如下再带&#xff0c;axios便会拦截所有请求并且如果localStorage有token则会…

宝塔nginx配置SpringBoot服务集群代理

宝塔nginx配置SpringBoot服务集群代理 1、需求&#xff1a; 现有一个springboot服务需要部署成集群&#xff0c;通过nginx负载均衡进行访问&#xff0c;其中这个springboot服务内置了MQTT服务、HTTP服务、TCP服务。 MQTT服务开放了1889端口 HTTP服务开放了8891端口 HTTP服务开…

LeetCode94.二叉树的中序遍历

题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 &#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 思路 中序遍历的顺序是左子树 -> 根节点 -> 右子树。因此&#xff0c;我们可以通过递归的方式遍历二叉树&…

《白话C++》第8章 8.4.1 INI文件简介,8.4.2面向过程的设计 Page 761

以下是一个INI例子文件的内容&#xff1a; [DISPLAY_SETTING] #是否显示启动窗口&#xff1a; will_show_splash_window yes default_title welcom... [NETWORK_SETTING] svc_host www.d2school.com svc_port 80 带中括号的行代表一个“配置段&#xff08;section&#x…

[word] word 怎样批量把英文单词的首字母全部改成大写 #笔记#其他#学习方法

word 怎样批量把英文单词的首字母全部改成大写 word在处理长文档的过程中&#xff0c;有时候一个单词在多页重复出现。如果要把该单词的首字母改成大写&#xff0c;如果一个一个的改&#xff0c;费时费力。 方法&#xff1a;替换功能 如&#xff1a;我要把camtasia批量改成C…

【riscv】使用qemu运行riscv裸机freestanding程序

文章目录 1. 运行显示2. 工具准备3. 裸机代码和编译3.1 源码3.2 编译 4. 使用qemu仿真运行riscv裸机程序 1. 运行显示 详见左下角&#xff0c; 运行时串口输出的字符 A ; 2. 工具准备 # for riscv64-linux-gnu-gcc sudo apt-get install gcc-riscv64-linux-gnu# for qemu-s…

P6279 题解

P6279 题解 Overview 结论&#xff08;待论证&#xff09; Description 给定一个有向图&#xff0c;这个有向图的每一个点所连接的点都属于同一个集合。 求集合数量最大且字典序最小的集合标号方案。 Solution 先讲结论。 结论&#xff1a;用 vector 存储每个点所连接的…

Spring Cloud Sleuth:分布式链路跟踪

1. 理解分布式链路跟踪 1.1 什么是分布式链路跟踪 在分布式系统中&#xff0c;由于服务间的调用涉及多个节点和网络通信&#xff0c;出现问题时追踪问题的根源变得异常困难。分布式链路跟踪是一种技术&#xff0c;旨在解决这个问题。它允许开发人员追踪分布式系统中请求的流转…