0729作业+梳理

一、作业

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

代码:

#include<myhead.h>
#include<time.h>
//判断原本文件中的行数
int len_txt(FILE *fp)
{
    char buf=0;
    int count =1;
    while(1)
    {
        buf=fgetc(fp);
        if(buf==EOF)
        {
            break;
        }
        if(buf=='\n')
        {
            count++;
        }
    }
    return count;
}
int main(int argc, const char *argv[])
{
    //设定时间变量
    time_t new_time;
    time_t old_time ;
    struct tm *systime;
    //打开一个存储日志信息的文件
    FILE *fp = NULL;
    if((fp=fopen("./time.txt","a+"))==NULL)
    {
        perror("fopen error");
        return -1;
    }
    char buf[128] = "";//存放转变后的字符串的字符数组
    int len=0;
    len = len_txt(fp);
    while(1)
    {
        new_time = time(NULL);
        systime = localtime(&new_time);
        if(new_time!=old_time)
        {
            old_time = new_time;
            sprintf(buf,"%d、%4d-%2d-%2d %2d:%2d:%2d\n",\
                    ++len,\
                    systime->tm_year+1900,\
                    systime->tm_mon+1,\
                    systime->tm_mday,\
                    systime->tm_hour,\
                    systime->tm_min,\
                    systime->tm_sec);
            fwrite(buf,sizeof(buf),1,fp);
            fflush(fp);
        }
    }
    fclose(fp);

    return 0;
}
 

运行:

2.使用fread和fwrite完成图像的读写操作

代码:

#include<myhead.h>
#define MAX 32
int main(int argc, const char *argv[])
{
    if(argc != 3)
    {
        printf("输入文件错误\n");
        return -1;
    }
    FILE *fp1 = fopen(argv[1],"r");
    if(NULL == fp1)
    {
        perror("fopen argv[1] error");
        return -1;
    }
    FILE *fp2 = fopen(argv[2],"w");
    if(NULL == fp2)
    {
        perror("fopen argv[2] error");
        return -1;
    }
    char buf[MAX] = "";
    int res=0;
    while((res = fread(buf,1,MAX,fp1))!=0)
    {
        fwrite(&buf,1,res,fp2);
    }


    fclose(fp1);
    fclose(fp2);
    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);
    fread(&img_size,sizeof(img_size),1,fp);
    printf("size = %d\n",img_size);//图像大小

    //从头向后偏移54字节后就是图像数据
    fseek(fp,54,SEEK_SET);
    unsigned char color[3] = {255,0,255};//正红
    for(int i=0;i<960/2;i++)
    {
        for(int j=0;j<1280;j++)
        {
            fwrite(color,sizeof(color),1,fp);
        }
    }
    return 0;
}
 

运行:

二、梳理

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

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

相关文章

计算是守恒与对称的,谋算(算计)是变通与破缺的

计算通常涉及到严格的数学或逻辑规则&#xff0c;这些规则保证了信息或量的守恒和对称性。例如&#xff0c;数学运算如加减乘除都遵循特定的规律&#xff0c;确保了结果的准确性和一致性。相比之下&#xff0c;谋算&#xff08;或称算计&#xff09;更多指策略性的考虑或具有权…

Redis 缓存中间件

目录 概念 安装redis redis基本命令 给redis添加密码 基础数据类型 string类型 list列表类型 set创建&#xff08;一个键对应一个值&#xff09; set 创建数据 get 获取数据 keys * 展示所有的键 exists 判断键值是否存在 type 查看数据的类型 del 删除键 rename…

学习008-02-04-03 Group List View Data(组列表查看数据)

Group List View Data&#xff08;组列表查看数据&#xff09; This lesson explains how to group the Employee List View data by department and position. 本课介绍如何按部门和职位对员工列表视图数据进行分组。 Note Before you proceed, take a moment to review the …

机械学习—零基础学习日志(高数15——函数极限性质)

零基础为了学人工智能&#xff0c;真的开始复习高数 这里我们将会学习函数极限的性质。 唯一性 来一个练习题&#xff1a; 再来一个练习&#xff1a; 这里我问了一下ChatGPT&#xff0c;如果一个值两侧分别趋近于正无穷&#xff0c;以及负无穷。理论上这个极限值应该说是不存…

2024下《系统架构设计师》案例简答题,刷这些就够了!

2024年软考下半年已经越来越近了&#xff0c;不知道今年备考架构的同学们准备得怎么样了呢&#xff1f; 简答题一直是架构拿分的重点区域&#xff0c;对于许多考生来说&#xff0c;也往往是最具挑战性的部分。今天我就把那些重要的案例简答题类型整理汇总给大家&#xff0c;希望…

02 Go语言操作MySQL基础教程_20240729 课程笔记

概述 如果您没有Golang的基础&#xff0c;应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728 基础不好的同学每节课的代码最好配合视频进行阅读和学习&#xff0c;如果基础比较扎实&#xff0c;则阅读本教程巩固一下相…

Qt Designer,仿作一个ui界面的练习(二):部件内容的填充

有了完成了布局的基本框架设计之后&#xff0c;对各个部件逐步完成内容的填充。 一、还是从顶边栏开始&#xff1a; 1、在顶边栏的topLogo里面拖入一个QLabel&#xff08;标签&#xff09;&#xff0c;命名为logoImage&#xff0c;删除标签的文字。 2、右键点击topLogo&#x…

计算机三级嵌入式(三)——嵌入式系统硬件组成

目录 考点1 嵌入式最小硬件系统 考点2 基于 ARM 内核的典型嵌入式应用系统硬件组成 考点3 ARM 的 AMBA 总线体系结构及标准 考点4 基于 ARM 内核的嵌入式芯片的硬件组成 考点5 存储器层次结构 考点6 存储器分类 考点7 存储器主要性能指标 考点8 片内存储器 考点9 外部…

IndexError: list index out of range

IndexError: list index out of range 目录 IndexError: list index out of range 【常见模块错误】 【解决方案】 原因分析 解决方法 示例代码 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身…

接口自动化中对于文件上传的处理方法

正常的接口自动化基本都是json的格式&#xff0c;对于文件上传是一种特殊的格式是表单格式针对这种表单格式在接口自动化中怎么处理&#xff0c;主要通过工作中使用的一个实际的例子进行分享 举例&#xff1a;web上需要导入一个文件实现相关的功能&#xff0c;主要通过两个接口…

C语言玩一下标准输出——颜色、闪烁、加粗、下划线属性

文章目录 C语言玩一下标准输出——颜色、闪烁、加粗、下划线属性转换Tip切换内容介绍显示方式字体色背景色 常用光标控制附示例和运行结果 C语言玩一下标准输出——颜色、闪烁、加粗、下划线属性 标准输出格式其属性可控制&#xff0c;控制由一系列的控制码指定。标准输出函数可…

这才是 PHP 高性能框架 Workerman 的立命之本

大家好&#xff0c;我是码农先森。 在这个大家都崇尚高性能的时代&#xff0c;程序员的谈笑间句句都离不开高性能&#xff0c;仿佛嘴角边不挂着「高性能」三个字都会显得自己很 Low&#xff0c;其中众所皆知的 Nginx 就是高性能的代表。有些朋友可能连什么是高性能都不一定理解…

C++11 列表初始化与类型声明

目录 ​ 0.前言 1.C11介绍 2.统一的列表初始化 2.1{}初始化 2.2initializer_list 2.2.1initializer_list 的基本用法 2.2.2用于类的 initializer_list 构造函数 2.2.3与标准库容器的结合 2.2.4优势与注意事项 3.新声明 3.1auto 3.1.1基本用法 3.1.2优势 3.1.3注意事项 3.2declt…

npm国内淘宝镜像registry镜像过期

我们在使用npm的时候会遇到淘宝镜像安装过期的问题 首先了解 npm 淘宝镜像是一个 npm 注册表的镜像&#xff0c;用于加速 npm 包的下载。 一、如何设置&#xff1f; 如何设置淘宝镜像&#xff1f;淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com n…

贪吃蛇 C++简易版(完整代码)

代码&#xff1a; #include <iostream> #include <conio.h> #include <vector> #include <windows.h> #include <ctime>using namespace std; //设置范围 const int WIDTH 20; const int HEIGHT 20;const char EMPTY ; const char SNAKE O…

代码随想录总结

文章目录 1. 回溯法1.1 组合1.2 组合总和31.3 电话号码的字母组合 2. 1. 回溯法 经典问题&#xff1a;排列、组合、切割、子集、棋盘 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的…

【SpringBoot教程:从入门到精通】掌握Springboot开发技巧和窍门(四)-Vue项目配置环境、导航栏

主要写前端页面&#xff0c;采用vue框架写页面的导航栏&#xff01;&#xff01;&#xff01; 文章目录 前言 Vue项目配置环境 安装依赖 创建菜单 总结 前言 主要写前端页面&#xff0c;采用vue框架写页面的导航栏&#xff01;&#xff01;&#xff01; Vue项目配置环境 安装…

【状语从句】

框架 概念&#xff0c;特点主将从现连接词时间条件地点结果方式让步原因目的比较省略倒装 解读 1【概念&#xff0c;特点】 一个完整的句子&#xff0c;去修饰另一个完整句子中的动词&#xff0c;称为状语从句&#xff1b;特点&#xff1a;从句完整&#xff0c;只用考虑连接词是…

Git远程仓库推送

这里我只连接了两个站点的远程仓库&#xff0c;一个是国内的Gitee&#xff0c;另一个是Github&#xff0c;这两个站点的连接方式主要有两种&#xff0c;第一种就是通过https来连接远程仓库&#xff0c;另一种是通过ssh公钥来连接&#xff0c;这两个站点练接的大致过程都是一样的…

Acrel-1000DP分布式光伏监控系统在江苏盛佳德新材料有限公司4.03MW分布式光伏10KV并网系统的应用

安科瑞戴婷 Acrel-Fanny 摘要&#xff1a;随着我国社会的不断进步,经济得到迅速的发展,城市化进程也逐渐加快。城市电力配电网络的供电压力逐渐增加,传统的发电技术已经不再适用于目前城市电力配电的发展现状。传统发电技术电力转化的效率比较低,对空气的污染也比较大,不利于城…