day 02

ops/2024/10/18 22:37:49/

作业:

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
#include <myhead.h>int main(int argc, const char *argv[])
{FILE *fp = NULL;if((fp = fopen("./time.txt","w")) == NULL){perror("fopen error");return -1;}char buf[128] = "";char buff[128] = "";int count = 1;while(1){		time_t sys_time = time(NULL);struct tm *time_ptr = localtime(&sys_time);sprintf(buf,"%d、%4d-%2d-%2d %2d:%2d:%d\n",\count,\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);fflush(fp);if(strcmp(buf,buff) != 0 ){fwrite(&count,sizeof(count),1,fp);fwrite(buf,strlen(buf),1,fp);	strcpy(buff,buf);count++;}}fclose(fp);return 0;
}

 

2> 使用fread、fwrite完成两个文件的拷贝

不允许只读写一次

#include <myhead.h>int main(int argc, const char *argv[])
{FILE *sfp=NULL;FILE *dfp=NULL;if((sfp=fopen("./usr3.txt","r"))==NULL){perror("fopen error");return -1;}if((dfp=fopen("./usr2.txt","w"))==NULL){perror("fopen error");return -1;}char buf[20] = "";int res = 0;while((res = fread(buf,sizeof(buf),1,sfp))!=0){fwrite(buf,sizeof(buf),res,dfp);	}fclose(sfp);fclose(dfp);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;//将光标文件偏移两个字节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> 君子作业:给图像打马赛克


http://www.ppmy.cn/ops/86376.html

相关文章

python每日学习13:pandas库的用法(2)

python每日学习13&#xff1a;pandas库的用法&#xff08;2&#xff09; 建立索引:所有的数据框默认都已经使用从 0 开始的自然数索引&#xff0c;因此这里的"建立”索引指的是自定义索引 import pandas as pd import numpy as np df pd.DataFrame( {varl : 1.0, var2 :…

信号的运算

信号实现运算&#xff0c;首先要明确&#xff0c;电路此时为负反馈电路&#xff0c;当处于深度负反馈时&#xff0c;可直接使用虚短虚断。负反馈相关内容可见&#xff1a;放大电路中的反馈_基极反馈-CSDN博客https://blog.csdn.net/qq_63796876/article/details/140438759 一、…

2024.7.23(DNS正向解析)

回顾&#xff1a; # 安装 samba yum -y install samba # 自建库&#xff0c;只下载&#xff0c;不安装 yum -y install --downloadonly --downloaddir./soft/ # 配置samba vim /etc/samba/smb.conf # 配置 [xxxxxxxname] commentdasdffsffdslfdjsa path/share …

golang设置远程调试

1. 目标机器构建安装dlv https://github.com/go-delve/delve go build之后将编译号的dlv命令路径添加到PATH里 2. 目标机器下载源代码并且运行dlv dlv debug --headless --listen:2345 --api-version2 --accept-multiclient 3.本机添加go remote 4. 设置断点即可

生成式人工智能的未来发展方向:Chat领域展现无限潜力

随着人工智能技术的不断进步&#xff0c;生成式人工智能开始在各个领域展现出令人瞩目的潜力。作为其中一项重要技术&#xff0c;Chat&#xff08;对话&#xff09;型的生成式人工智能引起了广泛的关注。在未来&#xff0c;Chat型生成式人工智能有望在多个方向上实现突破性进展…

日拱一卒 | JVM

文章目录 什么是JVM&#xff1f;JVM的组成JVM的大致工作流程JVM的内存模型 什么是JVM&#xff1f; 我们知道Java面试&#xff0c;只要你的简历上写了了解JVM&#xff0c;那么你就必然会被问到以下问题&#xff1a; 什么是JVM&#xff1f;简单说一下JVM的内存模型&#xff1f;…

13.2 MongoDB

13.2 MongoDB 1. 概述2. docker安装3. SpringBoot整合MongoDB3.1 依赖3.2 配置连接1. 基于`yml`配置2. 基于配置类配置3.3 启动项坑1坑23.4 新增业务1. 实体类映射2. 数据层3. 业务层4. 控制层5. 测试结果3.5 单条记录查询业务1. 数据层2. 业务层3. 控制层4. 断点测试3.6 分页查…

Linux Shell编程——从入门到应用

参考链接&#xff1a; Shell编程 4小时快速上手_哔哩哔哩_bilibililinux shell 脚本 入门到实战详解[⭐建议收藏&#xff01;&#xff01;⭐]-CSDN博客 目录 基础知识准备文本命令catechogrepsed/awk vim编辑器 一、Shell入门介绍1.1 Shell概述1.2 Shell脚本分类Bourne shellC …