当前位置: 首页 > news >正文

IO进程:fread\fwrite图像拷贝,read\write文件拷贝,时间函数

1.使用fread、fwrite实现图片拷贝

程序代码:

  1 #include<myhead.h>2 int main(int argc, const char *argv[])3 {4     //判断传入文件个数5     if(argc!=3)6     {7         printf("input file error\n");8         printf("usage:./a.out srcfile destfile\n");9         return -1;10     }11     FILE *src=NULL;12     //以只读形式打开文件13     if((src=fopen(argv[1],"r"))==NULL)14     {15         perror("fopen error");16         return -1;17     }18 19     FILE *dest=NULL;20     //以只写形式打开文件21     if((dest=fopen(argv[2],"w"))==NULL)22     {23         perror("fopen error");24         return -1;25     }26     unsigned char *buf;27     //求出源文件大小28     fseek(src,0,SEEK_END);//光标从起始点到末端29     long lenth=ftell(src);//得到文件大小30     fseek(src,0,SEEK_SET);//光标回到起始点31     //申请存储源图像大小的内存32     buf=(char *)malloc(sizeof(char)*lenth);33     //从源文件读取34     fread(buf,sizeof(char),lenth,src);35     //将读取的数据写入目标文件中36     fwrite(buf,sizeof(char),lenth,dest);37     printf("success\n");38     //释放空间39     free(buf);buf=NULL;40     //关闭文件41     fclose(src);42     fclose(dest);43     return 0;44 }  

运行结果:

2.使用read、write完成两个文件的拷贝

程序代码:

  1 #include<myhead.h>2 int main(int argc, const char *argv[])3 {4     //判断终端文件个数5     if(argc!=3)6     {7         printf("input file error\n");8         printf("usage:./a.out srcfile destfile\n");9         return -1;10     }11     //定义文件描述符变量12     int src,dest;13     //以只读形式打开源文件14     if((src=open(argv[1],O_RDONLY))==-1)15     {16         perror("open error");17         return -1;18     }19     //读取源文件内容,写入目标文件20     char buf[128]="";//char类型最多12821     while(1)22     {23         //初始化数组24         memset(buf,0,sizeof(buf));25         //从源文件中读取数据26         int res=read(src,buf,sizeof(buf));27         //写入目标文件28         write(dest,buf,res);29         //判断读取的数据个数30         if(res==0)31             break;32     }33     //关闭文件34     close(src);35     close(dest);36     printf("success\n");37     return 0;38 }   

运行结果:

 3.将系统时间在文件中显示出来

程序代码:

  1 #include<myhead.h>2 int file_line(FILE *fp);3 int main(int argc, const char *argv[])4 {5     //获取系统时间6     time_t oldtime,newtime;//相当于int m,n7     //秒数转换为时间结构体类型指针8     struct tm *t;9     char buf[128]="";//存储时间的字符串10 11     //定义文件指针,以追加形式打开12     FILE *fp=NULL;13     if((fp=fopen("./time.txt","a+"))==NULL)14     {15         perror("fopen error");16         return -1;17     }18     //获取文件行号19     int line=file_line(fp);20     //获取系统时间21     while(1)22     {23         time(&newtime);24         if(oldtime!=newtime)//更新时间25         {26             oldtime=newtime;27             //时间结构体信息28             t=localtime(&newtime);29             //时间转换为字符串30             //调用结构体31             sprintf(buf,"%d、%3d:%3d:%3d\n",line++,t->tm_hour,t->tm_min,t->tm_sec);32             //写入字符串33             fputs(buf,fp);34             fflush(fp);35         }36     }37     //关闭文件38     fclose(fp);39     return 0;40 }41 //定义获取行号函数42 int file_line(FILE *fp)43 {44     //读取文件内容45     char buf[10]="";46     int count=0;47     //循环读取48     while(1)49     {50         //定义一个指针指向读取的字符串51         char *res=fgets(buf,sizeof(buf),fp);52         if(res==NULL)//文件读取结束53             break;54         //判断最后一个字符是否为'\n'55         if(buf[strlen(buf)-1]=='\n')56             count++;57     }58     return count;59 }   

运行结果:

流程图:

相关文章:

IO进程:fread\fwrite图像拷贝,read\write文件拷贝,时间函数

1.使用fread、fwrite实现图片拷贝 程序代码&#xff1a; 1 #include<myhead.h>2 int main(int argc, const char *argv[])3 {4 //判断传入文件个数5 if(argc!3)6 {7 printf("input file error\n");8 printf("usage:./a.out …...

基于java的企业校园招聘平台的设计与实现

分享一个自己的毕业设计&#xff0c;想要获取源码的同学加V&#xff1a;qq2056908377 链接&#xff1a;https://pan.baidu.com/s/1It0CnXUvc9KVr1kDcHWvEw 提取码&#xff1a;1234 摘要&#xff1a; 摘要&#xff1a;本毕业设计旨在设计和实现一个企业校园招聘平台&#xf…...

Rocky Linux网卡静态配置

一、开源系统 Rocky Linux 下载安装 1、安装教程 Rocky Linux 下载安装 二、远程工具 MobaXterm下载安装 1、安装教程 MobaXterm 下载安装 三、Rocky Linux 网卡配置 1、使用ip addr确认网卡名称&#xff08;此处可得知网卡为ens160&#xff09; [rootlocalhost ~]# ip a 1:…...

【C语言】通讯录(静态版本+动态版本)思路解析+完整源代码

通讯录 由于代码比较长&#xff0c;为了增加可读性&#xff0c;分成了contact.h&#xff0c;contact.c&#xff0c;test.c&#xff0c;分别用来声明函数或者类型&#xff0c;实现函数功能&#xff0c;测试代码 contact.h 我们希望通讯录具有增加联系人&#xff0c;删除联系人…...

spring boot自动装配及自动装配条件判断

第一步需要在pom.xml文件指定需要导入的坐标 要是没有自动提示需要检查maven有没有 实现代码 /*springboot第三方自动配置实现方法 * 什么是自动配置 自动配置就是springboot启动自动加载的类不需要在手动的控制反转自动的加入bean中 * * *//*第一种方案包扫描 不推荐因为繁琐…...

LeetCode--2298. 周末任务计数

文章目录 1 题目描述2 测试用例3 解题思路 1 题目描述 表: Tasks ------------------- | Column Name | Type | ------------------- | task_id | int | | assignee_id | int | | submit_date | date | -------------------task_id 是该表的主键&#xff08;具有唯一值…...

从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作

NIO基础 1.三大组件 1.1. Channel & Buffer Channel 在Java NIO&#xff08;New I/O&#xff09;中&#xff0c;“Channel”&#xff08;通道&#xff09;是一个重要的概念&#xff0c;用于在非阻塞I/O操作中进行数据的传输。Java NIO提供了一种更为灵活和高效的I/O处理方…...

Chatgpt润色文章“咒语”

文章目录 前言一、汉译英二、语法校正三、润色英文段落结构和句子逻辑 前言 一些Chatgpt润色文章常用的命令。 一、汉译英 I am a researcher studying Aerospace Manufacturing and now trying to revise my manuscript which will be submitted to the journal of Nature.I…...

【OpenGL教程2】 简单案例介绍Python 中的 OpenGL

目录 一、介绍二、安装三、编码练习四、结论 一、介绍 在本教程中&#xff0c;我们将学习如何在 Python 中使用PyOpenGL库。OpenGL是一个图形库&#xff0c;受Windows、Linux和MacOS等多个平台支持&#xff0c;也可用于多种其他语言&#xff1b;然而&#xff0c;这篇文章的范围…...

评估方法:CMMI/能力成熟度模型集成

一、什么是CMMI CMMI&#xff0c;全称为Capability Maturity Model Integration&#xff0c;即能力成熟度模型集成。它是由美国卡内基梅隆大学软件工程研究所研发的过程改进模型&#xff0c;也是国际上用于评价软件企业能力成熟度的一项重要标准。 CMMI的目的是帮助软件企业对…...

Gin框架: HTML模板渲染之配置与语法详解

Gin的HTML模板配置 1 &#xff09;单一目录的配置 配置模板目录&#xff0c;在与main.go同级下, 新建目录&#xff0c;下面二选一&#xff0c;仅作举例, 这里选择 tpls templatestpls 在 tpls 目录下新建 news.html <!-- 最简单的 --> <h1>News Page</h1>&l…...

.NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库

一、效果 记录日志为文档 记录日志到数据库 二、添加NuGet包 三、log4net.config代码配置 <?xml version"1.0" encoding"utf-8" ?> <log4net><!-- Debug日志 --><appender name"RollingFileDebug" type"log4net…...

Day36 贪心算法 part05

划分字母区间 一个字母区间仅有几个字母前一个字母区间有的字母后面都没有 合并区间 天才举一反三写出来了...

C#计算矩形面积:通过定义结构 vs 通过继承类

目录 一、涉及到的知识点 1.结构 2.结构和类的区别 3.继承 4.使用类继承提高程序的开发效率 5.属性 &#xff08;1&#xff09;属性定义 &#xff08;2&#xff09;get访问器 &#xff08;3&#xff09;set访问器 6. 属性和字段的区别 二、实例&#xff1a;通过定义…...

【复现】Panalog大数据日志审计系统 RCE漏洞_51

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Panalog大数据日志审计系统定位于将大数据产品应用于高校、 公安、 政企、 医疗、 金融、 能源等行业之中&#xff0c;针对网络流…...

react【五】redux/reduxToolkit/手写connext

文章目录 1、回顾纯函数2、redux2.1 redux的基本使用2.2 通过action修改store的数值2.3 订阅state的变化2.4 目录结构2.5 Redux的使用过程2.6 redux的三大原则2.7 Redux官方图 3、redux在React中的使用4、react-redux使用4.1 react-redux的基本使用4.2 异步请求 redux-thunk4.3…...

.NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2

前言 很多同学都不愿给电脑设动态壁纸&#xff0c;其中有个重要原因就是嫌它占资源过多。今天大姚分享一个.NET开源、免费&#xff08;MIT license&#xff09;的一个小而快并且功能强大的 Windows 动态桌面软件&#xff0c;支持视频和网页动画播放&#xff1a;DreamScene2。 …...

jsp计算机线上教学系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 计算机线上教学系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5…...

RabbitMQ的高可用机制

RabbitMQ通过多种机制提供高可用性(HA)支持&#xff0c;以确保消息系统的稳定性和可靠性。下面将详细介绍这些机制&#xff0c;并提供代码示例。 集群&#xff08;Clustering&#xff09; RabbitMQ的集群提供了高可用性和负载均衡。集群中的节点共享同一个Erlang分布式数据库…...

人机协同中的贝叶斯和马尔可夫

人机协同中的马尔可夫链是指在人与机器之间协同工作过程中&#xff0c;可能涉及到的状态转移概率模型。马尔可夫链是一种数学模型&#xff0c;描述了在给定当前状态下&#xff0c;未来状态的概率分布只依赖于当前状态&#xff0c;而与过去状态无关的随机过程。在人机协同工作中…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...