华清IOday2 24-7-29

1> 写一个日志文件,将程序启动后,每一秒的时间写入到文件中

1、2024- 7-29 10:31:19

2、2024- 7-29 10:31:20

3、2024- 7-29 10:31:21 ctrl+c:停止程序 ./a.out

4、2024- 7-29 10:35:06

5、2024- 7-29 10:35:07

6、2024- 7-29 10:35:08

main.c

#include <myhead.h>
int main(int argc, const char *argv[])
{FILE *fp = NULL;if ((fp = fopen("./time.txt", "a+")) == NULL){perror("fopen error");return -1;}char bufold[30] = " ";				//用来存放第一次取出的时间char bufnew[30] = " ";				//用来存放第二次取出的时间char buf[128] = " ";				//存放fgets取出的数组int line = 0;						//记录行号while (fgets(buf, sizeof(buf), fp)) //在数据写入前统计文件中一共有几行{line++;}line++;while (1){//第一次读取时间time_t sys_time = time(NULL);struct tm *time_ptr = localtime(&sys_time);//将第一次读取的时间存放在bufold中sprintf(bufold, "%d %4d-%d-%d %2d:%2d:%2d\n", line,time_ptr->tm_year + 1900,time_ptr->tm_mon + 1,time_ptr->tm_mday,time_ptr->tm_hour,time_ptr->tm_min,time_ptr->tm_sec);printf("bufnew = %s\n", bufold);while (1){//取出要比较的时间time_t sys_time = time(NULL);struct tm *time_ptr = localtime(&sys_time);//将要比较的时间放入bufnew中sprintf(bufnew, "%d %4d-%d-%d %2d:%2d:%2d\n", line,time_ptr->tm_year + 1900,time_ptr->tm_mon + 1,time_ptr->tm_mday,time_ptr->tm_hour,time_ptr->tm_min,time_ptr->tm_sec);//比较两个时间是否不同,如果不同表示时间过了一秒,把时间写入到文本中if ((strcmp(bufold, bufnew)) != 0){line++;fwrite(bufnew, 1, strlen(bufnew), fp);break;}//刷新缓冲区fflush(fp);}}fclose(fp);return 0;
}

2> 使用fread、fwrite完成两个文件的拷贝不允许只读写一次

#include<myhead.h>
int main(int argc, const char *argv[])
{FILE *src = NULL;if((src = fopen("./time.txt","r"))==NULL)//把src当成要复制的文件地址{perror("fopen error");return -1;}FILE *dest = NULL;if((dest = fopen("./zy2.txt","w"))==NULL)//把src当成被复制的文件地址{perror("fopen error");return -1;}char n;while(fread(&n,1,sizeof(n),src))//每次从src指向的文件中读取sizeof(n)项大小的一个项放入到n中,直到文件读取结束{fwrite(&n,1,sizeof(n),dest);//将读取到的n写入发哦dest指向的文件中}fclose(src);fclose(dest);return 0;
}

 

3> 实现对bmp图像的读写操作

#include<myhead.h>int main(int argc, const char *argv[])
{//定义文件指针FILE *fp = NULL;if((fp = fopen("./gg.bmp", "r+")) == NULL){perror("fopen error");return -1;}//获取文件大小int img_size = 0;//将文件光标偏移2个字节fseek(fp, 2, SEEK_SET);//读取4字节的内容fread(&img_size, sizeof(img_size), 1, fp);printf("size = %d\n", img_size);        //图像大小//从头向后偏移54字节后,就是图像数据fseek(fp, 54, SEEK_SET);//定义一个像素unsigned char color[3] = {0, 0, 255};     //正红色for(int i=0; i<960/2; i++)          //外行{for(int j=0;j<1280; j++)       //内列{fwrite(color, sizeof(color), 1, fp);}}//关闭文件fclose(fp);return 0;
}

4> 君子作业:给图像打马赛克

#include<myhead.h>int main(int argc, const char *argv[])
{//定义文件指针FILE *fp = NULL;if((fp = fopen("./gg(复件).bmp", "r+")) == NULL){perror("fopen error");return -1;}//获取文件大小int img_size = 0;//将文件光标偏移2个字节fseek(fp, 2, SEEK_SET);//读取4字节的内容fread(&img_size, sizeof(img_size), 1, fp);printf("size = %d\n", img_size);        //图像大小//从头向后偏移54字节后,就是图像数据fseek(fp, 54, SEEK_SET);//定义一个像素unsigned char color[3] = " ";     //正红色for(int i=0; i<960; i++)          //外行{for(int j=0;j<1280; j++)       //内列{fread(color,sizeof(color),1,fp);for (int k =0; k < 20; k++){for ( int m = 0; m < 20; m++){fwrite(color, sizeof(color), 1, fp);}j++;}       }}//关闭文件fclose(fp);return 0;
}

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

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

相关文章

Laravel魔术方法:框架的隐秘力量

Laravel魔术方法&#xff1a;框架的隐秘力量 引言 Laravel是一个充满魔力的PHP框架&#xff0c;它通过许多巧妙的设计让Web开发变得简洁而优雅。在Laravel中&#xff0c;魔术方法&#xff08;Magic Methods&#xff09;是这些魔力的体现之一。魔术方法是PHP预定义的、可以在类…

缓存穿透,缓存击穿,缓存雪崩

目录 介绍 缓存穿透 缓存击穿 缓存雪崩 原因 影响 解决方案 缓存穿透 防止缓存穿透->空值缓存案例 缓存击穿 使用互斥锁解决缓存击穿 介绍 缓存穿透 定义&#xff1a;缓存穿透是指用户查询数据&#xff0c;缓存和数据库中都不存在该数据&#xff08;一般是发起恶意…

实战:ZooKeeper 操作命令和集群部署

ZooKeeper 操作命令 ZooKeeper的操作命令主要用于对ZooKeeper服务中的节点进行创建、查看、修改和删除等操作。以下是一些常用的ZooKeeper操作命令及其说明&#xff1a; 一、启动与连接 启动ZooKeeper服务器&#xff1a; ./zkServer.sh start这个命令用于启动ZooKeeper服务器…

403 forbidden (13: Permission denied)

403 forbidden (13: Permission denied) 目录 403 forbidden (13: Permission denied) 【常见模块错误】 【解决方案】 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者…

Laravel路由模型绑定:简化依赖注入的艺术

Laravel路由模型绑定&#xff1a;简化依赖注入的艺术 引言 在现代Web应用开发中&#xff0c;Laravel框架以其优雅和简洁的代码而闻名。Laravel的路由模型绑定&#xff08;Route Model Binding&#xff09;是框架提供的一项强大功能&#xff0c;它允许开发者在路由处理中自动注…

基于视觉的语义匹配见多了,那基于雷达的呢?

论文题目&#xff1a; LiDAR-based HD Map Localization using Semantic Generalized ICP with Road Marking Detection 论文作者&#xff1a; Yansong Gong, Xinglian Zhang, Jingyi Feng, Xiao He and Dan Zhang 作者单位&#xff1a;北京驭势科技有限公司 导读&#xff…

python 查询机器python、gpu、安装包等环境版本信息

checkenv.py """Check environment configurations and dependency versions."""import importlib import os import resource import subprocess import sys from collections import OrderedDict, defaultdictimport torch# 查询自己想要的包…

cf960(div2)

A. Submission Bait&#xff08;博弈&#xff09; 题意&#xff1a;爱丽丝和鲍勃在大小为n的数组a中进行游戏&#xff0c;他们轮流进行运算&#xff0c;爱丽丝先开始&#xff0c;不能运算的一方输&#xff0c;一开始mx0&#xff0c;每次操作&#xff0c;玩家可以选择一个牵引i…

MOMFEA-SADE--基于子空间对齐和自适应差分进化的多目标多任务优化算法

MOMFEA-SADE–基于子空间对齐和自适应差分进化的多目标多任务优化算法 title&#xff1a; Evolutionary Multitasking for Multiobjective Optimization With Subspace Alignment and Adaptive Differential Evolution author&#xff1a; Zhengping Liang, Hao Dong, Cheng …

c语言中的整形提升和算数转换

整形提升&#xff1a; 表达式中字符和短整型操作数在使用之前转换为普通整形 分为两种&#xff1a; 有符号整形提升&#xff1a;按照变量的数据类型的符号位来提升 无符号整形提升&#xff1a;按照高位补0的方式及进行提升 例如&#xff1a;char a20&#xff1b;char b130…

【Git】 如何将一个分支的某个提交合并到另一个分支

【Git】 如何将一个分支的某个提交合并到另一个分支 在使用 Git 进行版本控制时&#xff0c;常常会遇到这样的需求&#xff1a;将某个分支的特定提交合并到另一个分支中。这种情况下&#xff0c;我们可以使用 cherry-pick 命令来实现。本文将详细介绍 cherry-pick 命令的使用方…

Java基础巩固 -- 多线程

Java基础巩固 – 多线程 1.多线程 1.1 意义 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流&#xff0c;一个进程中可以并发多个线程&#xff0c;每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式&#xff0c;但多线程使用了更…

“链动革新:2+1模式引领用户复购与留存潮流“

大家好&#xff01;我是吴军&#xff0c;来自一家在业界享有盛誉的软件开发公司&#xff0c;担任产品经理一职。今天&#xff0c;我想和大家深入探讨一个话题——如何利用创新的链动21模式来显著提升用户的留存率和复购率。 提到链动模式&#xff0c;很多人可能第一时间想到的是…

DEBUG:机械臂无法连接

问题 机械臂无法连接 ip 网关正确 解决 检查网口是否正常 网口损坏 usb部分可能半坏&#xff08;支持鼠标 不是转网口&#xff09;

Whisper离线部署问题处理

Whisper是OpenAI开发一款开源语音识别模型&#xff0c;可以帮我们低成本的拥有语音识别的能力。具体的安装部署方法&#xff0c;我在这里就不详细说了&#xff0c;网上有很多相关文章&#xff1a; 使用OpenAI的Whisper 模型进行语音识别 (baidu.com) 我这里主要想说的是&…

醒醒,别睡了...讲《数据分析pandas库》了—/—<6>

一、 1、长宽格式转换 基于多重索引&#xff0c;Pandas 可以很容易地完成长型、宽型数据格式的相互转换。 1.1 转换为最简格式 stack&#xff08;&#xff09;其使用法如下&#xff1a; stack函数用于将DataFrame中的列转换为行&#xff0c;即将宽格式数据转换为长格式数据。…

GitHub每周最火火火项目(7.22-7.28)

1. 项目名称&#xff1a;Django 项目介绍&#xff1a;Django 是一个高级 Python Web 框架&#xff0c;鼓励快速开发和简洁、实用的设计。它由经验丰富的开发者构建&#xff0c;旨在解决 Web 开发中的常见问题&#xff0c;提供了一套完整的工具和库&#xff0c;包括数据库ORM、…

中控屏UI设计全解析:布局与交互技巧

在现代科技的浪潮中&#xff0c;中控屏已成为智能系统不可或缺的交互界面。无论是智能家居、车载系统还是工业控制&#xff0c;一个直观、易用且美观的中控屏 UI 设计对于提升用户体验至关重要。本教程将带领你深入探索中控屏UI设计的精髓&#xff0c;指导你如何打造出既专业又…

2024.7.28 记录一次悲惨的笔试——作业帮NLP校招

小红的奇偶抽取 题目描述 题解 #include <iostream> #include<stack> using namespace std;int main() {long long n;stack <int> ji, ou;cin >> n;while (n) {int a n % 10;if (a % 2 0)ou.push(a);elseji.push(a);n n / 10;}long long jN 0, o…

用深度学习改进乳腺癌MRI诊断| 文献速递--AI辅助的放射影像疾病诊断

Title 题目 Improving breast cancer diagnostics with deep learning for MRI 用深度学习改进乳腺癌MRI诊断 01 文献速递介绍 乳腺磁共振成像&#xff08;MRI&#xff09;是一种检测乳腺癌的高度敏感的方式&#xff0c;报告的敏感性超过80%。传统上&#xff0c;其在筛查…