文件IO函数练习

news2024/9/21 1:51:44

作业:使用write和read完成文件的拷贝。

代码

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int fd = open("./1.txt",O_RDONLY);//已只读打开被拷贝文件
	if(-1 == fd)
	{
		perror("open");
		return -1;
	}
	int fd1 = open("./2.txt",O_WRONLY | O_CREAT | O_TRUNC,0664);//已只写方式打开
	if(-1 == fd1)
	{
		perror("open");
		return -1;
	}
	int i = lseek(fd,0,SEEK_END);//查看文件有多少字节内容
	printf("%d\n",i);
	lseek(fd,0,SEEK_SET);//恢复光标到开头
	while(1)
	{
		char k[5]={0};
		int len = read(fd,k,sizeof(k));//读取内容
		write(fd1,k,len);
		printf("%d\t%ld\n",len,sizeof(k));//写入内容
		if(len != sizeof(k))//判断循环是否结束
		{
			break;
		}
	}
	close(fd);
	close(fd1);
	//打印被拷贝文件内容
	fd1 = open("./2.txt",O_RDONLY);
	if(-1 == fd1)
	{
		perror("open");
		return -1;
	}
	char a[32]= {0};
	read(fd1,a,sizeof(a));
	printf("%s",a);
	return 0;
}

效果图

循环结束的条件结束判断:因为read函数返回值是读取到的内容大小,所以结束的条件结束当读取的内容大小和给的k的大小不一样就结束循环

一开始有考虑到如果刚好是这个读取的k的整数倍,那这循环不就结束不了

于是打印了len的变换,发现在全都读取完后他会再去读取,但读取不到内容了,所以最后len也不会和k的大小一样

每日整理

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

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

相关文章

Python使用QtSide6(PyQt)编写界面

1、安装QtSide6 开始菜单cmd 创建虚拟环境 python -m venv env2 进入虚拟环境 call env2/scripts/activate 安装Pyside6 pip install Pyside6 2、设计Qt界面 打开designer.exe&#xff0c;设计界面 点击菜单【窗体】【View Python Code...】&#xff0c;点击【全部复制】…

论文阅读:MonoScene: Monocular 3D Semantic Scene Completion

论文阅读&#xff1a;MonoScene: Monocular 3D Semantic Scene Completion Abstract MonoScene提出了一个3D语义场景完成&#xff08;SSC&#xff09;框架&#xff0c;其中场景的密集几何形状和语义是从单个单目 RGB 图像中推断出来的。与SC文献不同&#xff0c;我们依靠2.5或…

回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出

回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出 文章目录 前言回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出 一、NGO-Transformer-GRU模型NGO-Transformer-GRU组合模型的数据预测1…

Linux之数字证书

新书速览|Ubuntu Linux运维从零开始学_ubuntu linux运维从零开始学 pdf 下载-CSDN博客 《Ubuntu Linux运维从零开始学&#xff08;Linux技术丛书&#xff09;》(肖志健)【摘要 书评 试读】- 京东图书 (jd.com) 随着网络环境的恶化&#xff0c;人们已经逐渐抛弃网络上面的明文…

嵌入式day32

recvfrom 参数&#xff1a; sockfd //socket的fd buf //保存数据的一块空间的地址 len //这块空间的大小 flags //0 默认的接收方式 --- 阻塞方式 src_addr //用来保存发送方的地址信息 addrlen //表示发送方实际的地址信息大小 返回值&#xff1a; 成功 返回接收到的字…

小米、友邦带领恒指大反攻!

港股三大指数反弹止步2连跌&#xff0c;恒生科技指数一度冲高至2%&#xff0c;恒指收涨1.44%。盘面上&#xff0c;大型科技股多数表现活跃&#xff0c;业绩超预期&#xff0c;小米大涨超8%表现尤其抢眼&#xff0c;京东涨约4%&#xff0c;百度涨1.71%&#xff0c;网易涨2.14%&a…

linux内核编译及驱动程序的添加

内核编译:Makefile 条件编译 先拷贝一个默认的配置到.config (官方所有的默认配置文件在arch/arm/configs下) 我使用的是内核源码顶层目录下的config_mini2440_td35 在Kconfig中定义menuconfig中的可配置选项 make menuconfig //可视化配置菜单 --内核活地图 .config #…

生产者消息可靠性

若支付服务和mq之前网络链接失败/mq挂掉/交易服务挂掉,都有可以让支付订单无法更新,所以导致发送者不可靠,mq本身不可靠,消费者不可靠,消息延迟,针对以下问题 生产者可靠性 支付服务和mq之间有可能连不上,连不上怎么办,可以增加失败重连 配置文件中配置-重连 测试结果…

《黑神话·悟空》主创冯骥:我真的不适合做生物

出品| 木青生信大模型 作者| 穆易青、kimi 头图| 大地老周 引言 《黑神话:悟空》自8月20日全球上线以来,以其震撼的视觉效果和深刻的游戏体验,迅速成为现象级作品。这款游戏不仅创下了450万份的单日销量纪录,更在Steam等平台上取得了前所未有的成功。作为一名热爱游戏的…

SDXS:知识蒸馏在高效图像生成中的应用

人工智能咨询培训老师叶梓 转载标明出处 扩散模型虽然在图像生成方面表现出色&#xff0c;但其迭代采样过程导致在低功耗设备上部署面临挑战&#xff0c;同时在云端高性能GPU平台上的能耗也不容忽视。为了解决这一问题&#xff0c;小米公司的Yuda Song、Zehao Sun、Xuanwu Yin…

财务报表解读指南:关键指标与分析方法详解

一、概述 财务报表中包含了丰富的信息&#xff0c;但如果在分析时缺乏明确的思路或忽略重点&#xff0c;很容易被复杂的数据搞得无所适从。本文将介绍财务报表中的关键指标&#xff0c;包括资产负债率的分析、净资产收益率的解读&#xff0c;以及销售复合增长率的计算&#xf…

如何生成随机数(通过rand函数,srand函数,time函数深入讲解)

目录 1. 随机数的生成 2. srand函数 3. time函数 4. 设置随机数的范围 1. 随机数的生成 既然是猜数字游戏&#xff0c;那么最终的数字答案肯定是重要的&#xff0c;我们要如何实现这个随机数的生成呢&#xff1f; 在这个功能上&#xff0c;C语言提供了一个函数叫rand&…

智算中心算力池化技术深度分析报告

智算中心算力池化技术深度分析 智能算力&#xff0c;人工智能基石&#xff0c;助力构建多要素融合信息基础设施。作为数字经济高质量发展核心引擎&#xff0c;智能算力基础设施建设正迎来高潮。 智算中心&#xff0c;作为集约化算力基础设施&#xff0c;以智能算力为核心&…

特征工程练手(四):特征选择

本文为和鲸python 特征工程入门与实践闯关训练营资料整理而来&#xff0c;加入了自己的理解&#xff08;by GPT4o&#xff09; 原活动链接 原作者&#xff1a;云中君&#xff0c;大厂后端研发工程师 目录 0、关卡总结1、前言2、基础知识讲解2.1get_best_model_and_accuracy2…

springboot集成kafka-生产者发送消息

springboot集成kafka发送消息 1、kafkaTemplate.send()方法1.1、springboot集成kafka发送消息Message对象消息1.2、springboot集成kafka发送ProducerRecord对象消息1.3、springboot集成kafka发送指定分区消息 2、kafkaTemplate.sendDefault()方法3、kafkaTemplate.send(...)和k…

案例-异常

题目: (如果一开始不知道如何用异常的语法写,可先用如if语句代替try...catch,最后再把if优化为try...catch) 代码: javabean类: 测试类:

Java CompletableFuture:你真的了解它吗?

文章目录 1 什么是 CompletableFuture&#xff1f;2 如何正确使用 CompletableFuture 对象&#xff1f;3 如何结合回调函数处理异步任务结果&#xff1f;4 如何组合并处理多个 CompletableFuture&#xff1f; 1 什么是 CompletableFuture&#xff1f; CompletableFuture 是 Ja…

springboot静态资源访问问题归纳

以下内容基于springboot 2.3.4.RELEASE 1、默认配置的springboot项目&#xff0c;有四个静态资源文件夹&#xff0c;它们是有优先级的&#xff0c;如下&#xff1a; "classpath:/META-INF/resources/", &#xff08;优先级最高&#xff09; "classpath:/reso…

【精选】基于Spark的国漫推荐系统(精选设计产品)

目录&#xff1a; 系统开发技术 Python可视化技术 Django框架 Hadoop介绍 Scrapy介绍 IDEA介绍 B/S架构 MySQL数据库介绍 系统流程分析 操作流程 添加信息流程 删除信息流程 系统系统介绍&#xff1a; 可以查看我的B站&#xff1a; 系统测试 运行环境 软件平台 硬…

docker-compose安装NebulaGraph 3.8.0

文章目录 一. 安装NebulaGraph1.1 通过 Git 克隆nebula-docker-compose仓库的3.8.0分支到主机1.2 部署1.3 卸载1.4 查看 二. 安装NebulaGraph Studio2.1 下载 Studio 的部署配置文件2.2 创建nebula-graph-studio-3.10.0目录&#xff0c;并将安装包解压至目录中2.3 解压后进入 n…