思维导图


一、将当前的时间写入到time.txt的文件中,如果ctrl+c退出之后,在再次执行支持断点续写

1.2022-04-26 19:10:20

2.2022-04-26 19:10:21

3.2022-04-26 19:10:22

//按下ctrl+c停止,再次执行程序

4.2022-04-26 20:00:00

5.2022-04-26 20:00:01

代码 

#include <25041head.h>
int line();
int main(int argc, const char *argv[])
{int fd=open("./time.txt",O_RDWR | O_CREAT |O_APPEND,0777);time_t t;while(1){time(&t);//转换为 xxxx年xx月xx日 xx时xx分xx秒struct tm *s=localtime(&t);if(NULL==s){ERRLOG("localtime error..");}char now_time[128]="";lseek(fd,0,SEEK_END);snprintf(now_time,sizeof(now_time),"%d.%04d-%02d-%02d %02d:%02d:%02d\n",\line()+1,s->tm_year+1900,s->tm_mon+1,s->tm_mday,\s->tm_hour,s->tm_min,s->tm_sec);write(fd,now_time,strlen(now_time));fprintf(stdout,"%s",now_time);sleep(1);}return 0;
}//计算当前行数
int line()
{FILE *fp=fopen("time.txt","r");if(NULL==fp){ERRLOG("fopen error..");}int count=0;while(1){char ch=fgetc(fp);if(EOF==ch){break;}if('\n'==ch)count++;}if(EOF==fclose(fp)){printf("fclose error..\n");return -1;}return count;
}

运行结果


二、使用文件IO函数实现图片的拷贝 

代码

#include <25041head.h>int main(int argc, const char *argv[])
{umask(0);int fd=open("./my.bmp",O_RDONLY);int fd_c=open("copy.bmp",O_RDWR | O_CREAT | O_TRUNC,0777);char buf[128]="";while(1){memset(buf,0,sizeof(buf));int res=read(fd,buf,sizeof(buf)-1);if(res==0)break;                                                           if(-1==res){ERRLOG("read error..");}write(fd_c,buf,sizeof(buf)-1);}if(-1==close(fd)&&-1==close(fd_c)){ERRLOG("close error..");}printf("图片拷贝成功!\n");return 0;
}

运行结果


 三、使用文件IO读取图片 文件大小、文件偏移量,宽度,高度。

1.bmp文件头(bmp file header):提供文件的格式、大小等信息 (14字节)

2.位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息(50字节)

3.位图数据(bitmap data):就是图像数据啦

代码

#include <25041head.h>int main(int argc, const char *argv[])
{//打开bmp图片文件int fd=open("./my.bmp",O_RDONLY);if(-1==fd){ERRLOG("open error..");}lseek(fd,2,SEEK_SET);//把光标定位到文件计算大小int size;if(-1== read(fd,&size,4)){ERRLOG("read error..");}printf("图片文件大小为%d字节\n",size);//把光标定位到记录文件偏移量的位置lseek(fd,10,SEEK_SET);int offset;if(-1==read(fd,&offset,4)){ERRLOG("read error..");}printf("图片文件偏移量为%d字节\n",offset);//宽度lseek(fd,18,SEEK_SET);int width;if(-1==read(fd,&width,4)){ERRLOG("read error..");}printf("图片宽度为%d像素\n",width);//高度,连续读取,无需偏移                           int height;if(-1==read(fd,&height,4)){ERRLOG("read error..");}printf("图片高度为%d像素\n",height);//关闭文件if(-1==close(fd)){ERRLOG("close error..");}return 0;
}

运行结果

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

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

相关文章

DHCP中继及动态分配

DHCP中继 在多 VLAN 网络中为什么不能直接用 DHCP&#xff1f; 比如你现在的网络是&#xff1a;PC 在 VLAN10、VLAN20 中DHCP服务器&#xff08;Router0&#xff09;在另一个网段&#xff08;比如 192.168.100.0/24&#xff09;PC 的 DHCP Discover 是广播&#xff0c;无法跨越…

ROS 概述与环境搭建

1. ROS 简介 1.1 ROS 诞生背景 机器人是一种高度复杂的系统性实现&#xff0c;机器人设计包含了机械加工、机械结构设计、硬件设计、嵌入式软件设计、上层软件设计....是各种硬件与软件集成&#xff0c;甚至可以说机器人系统是当今工业体系的集大成者。 机器人体系是相当庞大的…

mac python3.13 selenium安装使用

一、安装 # 进入虚拟环境 workon xxxx pip install selenium二、安装驱动 查询自己浏览器版本 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --versionGoogle Chrome 138.0.7204.93下载对应的驱动&#xff0c;其他版本 sudo mv ~/Downloads/chromedr…

AI 开发平台:中小企业的创新破局点在哪里?

在浙江义乌的一个小商品加工厂里&#xff0c;老板王建国最近有点烦。订单量忽高忽低&#xff0c;原材料价格波动不定&#xff0c;他想通过数据分析提前规划生产&#xff0c;却苦于没有专业的技术团队&#xff1b;在广东东莞的一家电子配件公司&#xff0c;业务员李娜每天要处理…

.NET 8.0 Redis 教程

一、环境准备 1. 安装 Redis 服务器 Windows/macOS/Linux&#xff1a;使用 Docker 快速部署 bash docker run -d --name redis -p 6379:6379 redisLinux&#xff1a;直接安装 bash sudo apt-get install redis-server sudo systemctl start redis-server2. 创建 .NET 项目 b…

2025年游戏鼠标推荐,游戏鼠标推荐,打CSGO(罗技、雷蛇、卓威、ROG、漫步者、赛睿、达尔优)

可能很多人对于游戏鼠标的了解还是不够深&#xff0c;会有很多疑问&#xff0c;比如&#xff1a;“游戏鼠标和办公鼠标的区别”、“游戏鼠标无线好还是有线好”等等一系列的问题&#xff0c;本文将会介绍游戏鼠标领域处于领先地位的几个厂家&#xff1a;罗技鼠标、雷蛇鼠标、赛…

OpenCV CUDA模块设备层-----在 GPU上高效地执行两个uint类型值的最小值比较函数vmin2()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 OpenCV 的CUDA模块&#xff08;cudev&#xff09; 中的一个设备端内联函数&#xff0c;用于在GPU上高效地执行两个uint类型值的最小值比较。 该函…

Web3与传统网络安全模型对比:关键差异解析

随着互联网技术的飞速发展&#xff0c;Web3的概念逐渐成为人们关注的焦点。Web3代表着一个更加去中心化、安全和用户友好的网络环境。与传统的网络安全模型相比&#xff0c;Web3在多个方面展现出了其独特的优势和特点。本文将深入探讨Web3与传统网络安全模型之间的关键差异。 …

FLAN:微调语言模型是 Zero-Shot 学习者

摘要 本文探讨了一种简单的方法来提升语言模型的零样本学习能力。我们展示了指令微调——即在通过指令描述的数据集集合上对语言模型进行微调——能够显著提升模型在未见任务上的零样本表现。 我们以一个拥有1370亿参数的预训练语言模型为基础&#xff0c;在60多个通过自然语…

springboot中的事件发布和监听

事件定义 创建一个自定义事件类 UserLoginEvent&#xff0c;继承 ApplicationEvent&#xff0c;用于携带用户登录信息&#xff1a; import org.springframework.context.ApplicationEvent;public class UserLoginEvent extends ApplicationEvent { //关键点1&#xff1a;ext…

“开源双轨架构+40亿参数扩散Transformer——ComfyUI-OmniGen2本地部署教程:重塑多模态生成的效率边界!

一、简介 OmniGen2 是由北京智源研究院最新推出的一个强大、高效的开源多模态生成模型。与 OmniGen v1 不同&#xff0c;OmniGen2 具有两种不同的文本和图像模态解码路径&#xff0c;利用非共享参数和解耦的图像分词器。OmniGen2 在四个主要功能方面具有竞争力的性能&#xff…

Java的SpringAI+Deepseek大模型实战之会话记忆

文章目录 背景项目环境实现步骤第一步、定义会话存储方式方式一、定义记忆存储ChatMemory方式二、注入记忆存储ChatMemory 第二步、配置会话记忆方式一、老版本实现方式二、新版本实现 第三步、存储会话信息 异常处理1、InMemoryChatMemory 无法解析 背景 前两期【环境搭建】和…

RDS MySQL vs. Aurora MySQL:高需求工作负载的终极迁移指南

在 AWS 上&#xff0c;开发团队最常见且关键的决策之一就是选择合适的关系型数据库。通常&#xff0c;讨论会从 RDS for MySQL 这个可靠且熟悉的“老黄牛”开始。但很快&#xff0c;就会有人提到一个更强大、更云原生的选项&#xff1a;Aurora MySQL。 也许&#xff0c;就像最…

使用仓颉编程语言是一种怎样的体验?

2024年6月21日下午&#xff0c;华为终端BG软件部总裁龚体先生在华为开发者大会主题演讲《鸿蒙原生应用&#xff0c;全新出发&#xff01;》中向全球开发者介绍了华为自研仓颉编程语言&#xff0c;并发布了HarmonyOS NEXT仓颉语言开发者预览版。这是华为首次公开仓颉编程语言。 …

Qt Creator自定义控件开发流程

Qt Creator自定义控件开发流程 在 Qt 5.9 Creator 中开发自定义控件的完整流程如下&#xff0c;分为设计、实现、集成和测试四个阶段&#xff1a; 1. 创建自定义控件类 (1) 新建类文件 右键项目 → 添加新文件 → C Class基类选择 QWidget 或现有控件&#xff08;如 QPushBu…

翻译《The Old New Thing》- 如何创建一个与屏幕大小相同的窗口,而不会被当作全屏窗口处理?

How can I create a window the size of the screen without it being treated as a fullscreen window? - The Old New Thinghttps://devblogs.microsoft.com/oldnewthing/20250522-00/?p111211 问题描述 任务栏允许全屏窗口覆盖它。这样&#xff0c;当你在放映幻灯片或进行…

深分页末日救星:MySQL延迟关联原理与实战手册

MySQL 深分页&#xff08;如 LIMIT 100000, 10&#xff09;本质是 高代价的偏移量扫描&#xff0c;可通过以下方案优化&#xff0c;附核心原理和实操示例&#xff1a; 一、深分页为什么慢&#xff1f; SELECT * FROM orders ORDER BY id DESC LIMIT 100000, 10; 执行过程&…

前端技术栈 —— HTML、CSS和JavaScirpt执行环境

以下内容由GLM回答生成&#xff0c;不保证正确性。 前端技术栈 —— HTML、CSS和JavaScirpt执行环境 JavaScript 的执行环境HTML 和 CSS 的执行环境HTML 和 CSS 是否可以在其他环境中执行&#xff1f;总结 JavaScript 是一种 解释型语言&#xff0c;但它也可以被编译。JavaScr…

多项式带余除法——线性代数题目为例

一、多项式带余除法的定义 二、例题 使用方法将在例题中展示&#xff1a;

学习日记-spring-day40-7.3

知识点&#xff1a; 1.自动装配Resource&#xff08;3&#xff09; 知识点 核心内容 重点 Autowired与Resource注入规则 默认注入逻辑&#xff1a;未指定参数时&#xff0c;Resource优先按属性名匹配&#xff08;by name&#xff09;&#xff0c;失败后按类型匹配&#xf…