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

一、使用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);//按字符遍历文件内数据存入tempif(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.mzph.cn/news/690479.shtml

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

相关文章

哪个电商抠图软件比较好用?这些软件也太好用了吧

当需要从原始场景中分离图片中的对象时&#xff0c;抠图变得尤为关键。对于电商从业者而言&#xff0c;抠图是不可或缺的步骤。手动抠图耗时费力&#xff0c;而利用一键抠图软件可以显著提高工作效率和质量。然而&#xff0c;市场上有众多抠图软件&#xff0c;其中哪些是真正好…

【已解决】windeployqt.exe此应用无法在你电脑上运行

遇到这种问题时&#xff0c;通常网络会给出右击程序的兼容性或者以管理员命令行身份运行该程序。但是本文想要告诉的是这个windeployqt.exe出现此应用无法在你电脑上运行问题出现时&#xff0c;如何解决&#xff1f; 解决方案 笔者出现的问题是这个exe大小变成0kb所以无法打…

【详细流程】vue+Element UI项目中使用echarts绘制圆环图 折线图 饼图 柱状图

vueElement UI项目中数据分析功能需要用到圆环图 折线图 饼图 柱状图等&#xff0c;可视化图形分析 安装流程及示例 1.安装依赖 npm install echarts --save2.在main.js中引入并挂载echarts import echarts from echarts Vue.prototype.$echarts echarts3.在需要使用echart…

VMware还原Windows11 ghost镜像

文章目录 环境步骤准备制作启动iso文件创建虚拟机启动虚拟机还原Windows 参考 环境 Windows 11 家庭中文版VMware Workstation 17 Pro石大师装机大师Windows 11 ghost系统镜像 步骤 准备 下载好Windows 11 ghost系统镜像&#xff0c;我下载的文件是 FQ_WIN11_X64_VDL_V2080…

AMD FPGA设计优化宝典笔记(1)触发器

高亚军老师的这本书《AMD FPGA设计优化宝典》&#xff0c;他主要讲了两个东西&#xff1a; 第一个东西是代码的良好风格&#xff1b; 第二个是设计收敛等的本质。 这个书的结构是一个总论&#xff0c;加上另外的9个优化&#xff0c;包含的有&#xff1a;时钟网络、组合逻辑、触…

文件IO,目录IO的学习

一&#xff0c;头文件的添加 #ifndef _HEAD_H_ //防止重新定义宏 #define _HEAD_H_#include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<fcntl.h> #include<unistd.h> #include<string.h>#endif…

Pytest自动化测试框架介绍

1、什么是单元测试框架 单元测试是指在软件开发当中&#xff0c;针对软件的最小单位&#xff08;函数&#xff0c;方法&#xff09;进行正确性的检查测试。 2、单元测试框架主要做什么 测试发现&#xff1a;从多个文件里面去找到我们需要的测试用例。 测试执行&#xff1a;按…

ThreadLocal “你”真的了解吗?

今天想梳理一个常见的面试题。在开始之前&#xff0c;让我们一起来回顾一下昨天的那篇文章——《Spring 事务原理总结七》。这篇文章比较啰嗦&#xff0c;层次也不太清晰&#xff0c;所以以后有机会我一定要重新整理一番。这篇文章主要想表达这样一个观点&#xff1a;Spring的嵌…

基于SpringBoot+Vue的零食零售管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

Rocky Linux 下载安装

一、VMware Workstation下载安装 1、安装教程 VMware Workstation下载安装&#xff08;含密钥&#xff09; 二、VMware Workstation 创建虚拟机 1、创建教程 VMware Workstation 创建虚拟机 三、Rocky Linux 下载 1、下载官网 RockyLinux.org 2、选择X86架构_64位系统_DVD镜…

部分回溯法题解

部分回溯法题解 一、22. 括号生成二、39. 组合总和 一、22. 括号生成 中 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())…

1.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-测试需求与需求拆解

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;分析接收到的对话数据包 这是一个新的篇章&#xff0c;之前是关于把我们的东西放进游戏里和内存里的数据分析与利用&#xff0c;现在是专注于网络部分&#xff0c;通过分析网络数据包得到应用程序中各…

Python安装GDAL库

目录 一、GDAL介绍 二、GDAL应用 三、python安装GDAL库 一、GDAL介绍 GDAL&#xff08;Geospatial Data Abstraction Library&#xff09;是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式&#xff0c;并且提供了一系列命令…

基于Spring Boot的智能物流管理系统,计算机毕业设计(带源码+论文)

源码获取地址&#xff1a; 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1759581137025445890

linux基础学习(10):基本权限与相关命令

1.基本权限 用ls -l查看当前目录文件时&#xff0c;可以看到文件的基本权限 其由10位组成&#xff0c;其中&#xff1a; 第1位&#xff1a;代表文件类型。 - d lbc普通文件目录文件软链接文件块设备文件&#xff0c;也就是硬盘等存储设备的文件字符设备文件&#xff0c;是鼠…

外包干了3个多月,技术退步明显。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

代码随想录算法训练营29期|day54 任务以及具体安排

第九章 动态规划part11 123.买卖股票的最佳时机III // 版本一 class Solution {public int maxProfit(int[] prices) {int len prices.length;// 边界判断, 题目中 length > 1, 所以可省去if (prices.length 0) return 0;/** 定义 5 种状态:* 0: 没有操作, 1: 第一次买入…

OpenCV中图像的HSV色彩空间

在HSV 色彩空间中H, S, V 这三个通道分别代表着色相(Hue)&#xff0c;饱和度(Saturation)和明度(Value)&#xff0c; 原本输出的HSV 的取值范围分别是0-360, 0-1, 0-1; 但是为了匹配目标数据类型OpenCV 将每个通道的取值范围都做了修改,于是就变成了0-180, 0-255, 0-255 impo…

RabbitMQ保证消息的可靠性

1. 问题引入 消息从发送&#xff0c;到消费者接收&#xff0c;会经理多个过程&#xff1a; 其中的每一步都可能导致消息丢失&#xff0c;常见的丢失原因包括&#xff1a; 发送时丢失&#xff1a; 生产者发送的消息未送达exchange消息到达exchange后未到达queue MQ宕机&…

EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比

EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比 目录 EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 【EI级】Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间…