33、IO/标准IO对图片操作练习及文件IO相关练习20240219

news2024/11/25 6:40:16

一、使用fread和fwrite完成两个图片文件的拷贝(标准IO)。

代码:

#include<myhead.h>

int main(int argc, const char *argv[])
{
	FILE *srcfp=NULL;
	FILE *destfp=NULL;
	if((srcfp=fopen("./hongfeng.bmp","r"))==NULL || (destfp=fopen("./yezi.bmp","r+"))==NULL)
	{
		perror("fopen error");//打开两个图片文件
		return -1;
	}
	int bmpSizeh=0;
	int bmpSizey=0;
	fseek(srcfp,2,SEEK_SET);//光标移动到存放图片数据大小的位置
	fseek(destfp,2,SEEK_SET);

	fread(&bmpSizeh,sizeof(int),1,srcfp);//读取图片大小
	fread(&bmpSizey,4,1,destfp);

	printf("bmpSizeh=%d bmpSizey=%d\n",bmpSizeh,bmpSizey);//输出大小

	fseek(srcfp,54,SEEK_SET);//光标移动到图像像素矩阵位置
	fseek(destfp,54,SEEK_SET);

	unsigned char color[3]={0,0,0};//定义一个数组存放每个像素点的颜色数值

	for(int i=0;i<500;i++)
	{
		for(int j=0;j<800;j++)
		{
			fread(color,sizeof(color),1,srcfp);//从hongfeng.bmp中保存一个像素点数据
			fwrite(color,sizeof(color),1,destfp);//拷贝到yezi.bmp对应的位置
		}
	}

	fclose(srcfp);//关闭文件
	fclose(destfp);


	return 0;
}

运行:

二、 使用read、write完成两个文件的拷贝(文件IO)。

代码:

#include<myhead.h>

int main(int argc, const char *argv[])
{
	int srcfd= -1,destfd= -1;
	if((srcfd=open("./1.c",O_RDONLY))==-1 || (destfd=open("./2.txt",O_WRONLY|O_CREAT|O_APPEND,0664))==-1)
	{
		perror("open error");//只读形式打开1.c 只写|创建|追加形式打开2.txt;
		return -1;
	}
	printf("open success srcfd=%d destfd=%d\n",srcfd,destfd);//打开成功输出文件描述符

	char ch[128]="";
	while(1)
	{
		ssize_t res=read(srcfd,ch,sizeof(ch));//从1.c中复制数据
		if(res==0)     //读取失败返回-1,结束循环;
			break;
		write(destfd,ch,res);//向2.txt写入数据
	}

	close(srcfd);//关闭文件
	close(destfd);
	return 0;
}

运行:

三、将时间在文件中输出 按秒刷新:

如1、17:30:41

2、17:30:42

3、17:30:43

键入ctrl+c,结束进程后

...

4、17:35:28

5、17:35:29

代码:

#include<myhead.h>

int main(int argc, const char *argv[])
{
	while(1)//外部循环控制
	{
		int fd=-1;
		if((fd=open("./time.txt",O_RDWR|O_CREAT|O_APPEND,0664))==-1)
		{
			perror("open error");//创建time.txt文件并追加打开
			return -1;
		}
		int line=1;//行号1开始
		while(1)
		{
			char temp;
			ssize_t rew=read(fd,&temp,1);//按字符遍历文件内数据存入temp
			if(rew<=0)//遍历结束条件;
				break;
			if(temp=='\n')
				line++;//记录行号
		}
		time_t sysTime=0;
		time(&sysTime);//获取秒数
		struct tm *t=localtime(&sysTime);//获取结构体
		char ch[32]="";//存入时间的字符串
		snprintf(ch,sizeof(ch),"%2d、%2d:%2d:%2d\n",line,t->tm_hour,t->tm_min,t->tm_sec);
		write(fd,ch,strlen(ch));//将字符串中的行、小时:分钟:秒存入文件
		write(2,ch,strlen(ch));//在终端输出
	
		sleep(1);//休眠一秒
		close(fd);
	}
	return 0;
}

运行:

思维导图:

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

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

相关文章

Discuz! X收藏列表页调用封面图片详细教程

Discuz! X默认收藏列表不显示封面图&#xff0c;我们接到客户需求要开发封面图功能在帖子列表&#xff0c;这是我们整理好的详细教程&#xff0c;下载即可查看 修改后&#xff0c;显示封面的收藏列表截图&#xff1a; 详细开发教程下载地址&#xff1a;Discuz! X收藏列表页调用…

把Llama2封装为API服务并做一个互动网页

最近按照官方例子&#xff0c;把Llama2跑起来了测试通了&#xff0c;但是想封装成api服务&#xff0c;耗费了一些些力气 参考&#xff1a;https://github.com/facebookresearch/llama/pull/147/files 1. 准备的前提如下 按照官方如下命令&#xff0c;可以运行成功 torchrun -…

【EI会议征稿通知】第五届信息科学与并行、分布式处理国际学术会议(ISPDS 2024)

第五届信息科学与并行、分布式处理国际学术会议&#xff08;ISPDS 2024&#xff09; 2024 5th International Conference on Information Science, Parallel and Distributed Systems 第五届信息科学与并行、分布式处理国际学术会议&#xff08;ISPDS 2024&#xff09;定于20…

查看 PyCharm 代码文件目录位置

查看 PyCharm 代码文件目录位置 1. Show in Files2. Copy PathReferences 1. Show in Files right click -> Show in Files / Show in Explorer 即可打开目录 2. Copy Path right click -> Copy Path 即可复制目录或文件路径 References [1] Yongqiang Cheng, http…

Android逆向学习(七)绕过root检测与smali修改学习

Android逆向学习&#xff08;七&#xff09;绕过root检测与smali修改学习 一、写在前面 这是吾爱破解正己大大教程的第五个作业&#xff0c;然后我的系统还是ubuntu&#xff0c; 这个是剩下作业的完成步骤。 二、任务目标 现在我们已经解决了一些问题&#xff0c;现在剩下的…

【C语言】长篇详解,字符系列篇2-----受长度限制的字符串函数,字符串函数的使用和模拟实现【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本期系列为【【C语言】长篇详解&#xff0c;字符系列篇2-----“混杂”的字符串函数&#xff0c;字符串函数的使用和模拟实现【图文详解】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&#x…

小型医院医疗设备管理系统|基于springboot小型医院医疗设备管理系统设计与实现(源码+数据库+文档)

小型医院医疗设备管理系统目录 目录 基于springboot小型医院医疗设备管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、职员信息管理 2、设备信息管理 3、库房信息管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

【性能测试入门必看】性能测试理论知识

一、性能测试理论知识 1、常用的七种性能测试方法 (1) 后端性能测试&#xff1a;其实&#xff0c;你平时听到的性能测试&#xff0c;大多数情况下指的是后端性能测试&#xff0c;也就是服务器端性能测试。后端性能测试&#xff0c;是通过性能测试工具模拟大量的并发用户请求&…

20240219画图程序

1. PTZ在惯性态时&#xff0c;不同视场角下的【发送】角速度和【理论响应】角速度 1.1 优化前 import numpy as np import matplotlib.pyplot as plt# PTZ在惯性态时&#xff0c;不同视场角下的【发送】角速度和【理论响应】角速度 ATROffset_x np.linspace(0, 60, 120) y2 …

OpenAI 全新发布文生视频模型 Sora,支持 60s 超长长度,有哪些突破?将带来哪些影响?

Sora大模型简介 OpenAI 的官方解释了在视频数据基础上进行大规模训练生成模型的方法。 我们下面会摘取其中的关键部分罗列让大家快速get重点。 喜欢钻研的伙伴可以到官网查看技术报告&#xff1a; https://openai.com/research/video-generation-models-as-world-simulator…

【图论经典题目讲解】CF786B - Legacy 一道线段树优化建图的经典题目

C F 786 B − L e g a c y \mathrm{CF786B - Legacy} CF786B−Legacy D e s c r i p t i o n \mathrm{Description} Description 给定 1 1 1 张 n n n 个点的有向图&#xff0c;初始没有边&#xff0c;接下来有 q q q 次操作&#xff0c;形式如下&#xff1a; 1 u v w 表示…

GO和KEGG富集分析

写在前面 我们《复现SCI文章系列教程》专栏现在是免费开放&#xff0c;推出这个专栏差不多半年的时间&#xff0c;但是由于个人的精力和时间有限&#xff0c;只更新了一部分。后续的更新太慢了。因此&#xff0c;最终考虑后还是免费开放吧&#xff0c;反正不是什么那么神秘的东…

关于数据结构的定义以及基本的数据结构

在计算机科学中&#xff0c;数据结构是指用于组织和存储数据的方式或方法。它涉及到在计算机内存中存储、管理和操作数据的技术和原则。数据结构不仅仅是简单地存储数据&#xff0c;还可以提供高效的数据访问和操作方式&#xff0c;以满足特定的需求。 以下是每个数据结构的详细…

mkcert安装教程

1、下载 官方文档&#xff1a;https://github.com/FiloSottile/mkcert#mkcert 下载链接&#xff1a;https://github.com/FiloSottile/mkcert/releases 2、安装&#xff0c;该文件目录下打开cmd&#xff08;可以把文件复制到别的文件夹&#xff09;&#xff0c;执行命令 //命令…

开源模型应用落地-工具使用篇-向量数据库进阶(四)

一、前言 通过学习"开源模型应用落地"系列文章&#xff0c;我们成功地建立了一个完整可实施的AI交付流程。现在&#xff0c;我们要引入向量数据库&#xff0c;作为我们AI服务的二级缓存。本文将继续基于上一篇“开源模型应用落地-工具使用篇-向量数据库&#xff08;三…

FreeRTOS移植到GD32

目录 一、GD32基础工程创建&#xff1a; 1、创建如下文件夹 2、在keil5创建工程 3、在工程添加相关.c文件和头文件路径 4、实例&#xff1a;实现LED闪烁功能 二、在基础工程添加FreeRTOS&#xff1a; 1、FreeRTOS中的文件: 2、添加的源文件: 3、添加的头文件路径: 4、…

机器人常用传感器分类及一般性要求

机器人传感器的分类 传感技术是先进机器人的三大要素&#xff08;感知、决策和动作&#xff09;之一。根据用途不同&#xff0c;机器人传感器可以分为两大类&#xff1a;用于检测机器人自身状态的内部传感器和用于检测机器人相关环境参数的外部传感器。 内部传感器 内部传感…

【JavaEE】_HTML常用标签

目录 1.HTML结构 2. HTML常用标签 2.1 注释标签 2.2 标题标签&#xff1a;h1~h6 2.3 段落标签&#xff1a;p 2.4 换行标签&#xff1a;br 2.5 格式化标签 2.6 图片标签&#xff1a;img 2.7 超链接标签&#xff1a;a 2.8 表格标签 2.9 列表标签 2.10 表单标签 2.10…

航班进出港|航班进出港管理系统|基于springboot航班进出港管理系统设计与实现(源码+数据库+文档)

航班进出港管理系统目录 目录 基于springboot航班进出港管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 5、航班信息管理 &#xff08;1&#xff09; 航班信息管理 &#xff08;2&#xff09;起飞降落申请管理 &#xff08;3&#xff09;公告管理 &…

辽宁博学优晨教育科技有限公司视频剪辑培训专业之选

随着数字时代的到来&#xff0c;视频剪辑技术已成为各行各业不可或缺的一项技能。为了满足市场需求&#xff0c;辽宁博学优晨教育科技有限公司&#xff08;以下简称“博学优晨”&#xff09;推出了专业的视频剪辑培训课程&#xff0c;旨在为广大学员提供系统、高效的学习机会。…