C++/C按照时间命名保存bin文件

这篇具有很好参考价值的文章主要介绍了C++/C按照时间命名保存bin文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

在Linux应用编程过程中,使用C++或者C语言保存、读取bin文件是比较常见的需求。这里详细记录一下使用C++保存bin文件,也可以使用C语言实现。

代码

C++/C语言保存bin文件函数,C++中也能使用

正确写入返回0,错误返回-1

// C 保存bin文件
int writeBin(char *path, unsigned char *buf, int size)
{
    FILE *outfile;

    if ((outfile = fopen(path, "wb")) == NULL)
    {
        printf("\nCan not open the path: %s \n", path);
        return -1;
    }
    fwrite(buf, sizeof(unsigned char), size, outfile);
    fclose(outfile);
    return 0;
}

针对文件路径的制作,文件露营时一个与时间有关的字符串

首先获取当前时间,然后根据需要的命名格式,完善saveFilePath

writeBin函数调用,将randomif_buf数据存储到本地文件

time_t timep;
time (&timep);
char saveFilePath[128];
memset(saveFilePath, 0, sizeof(saveFilePath));
strftime(saveFilePath, sizeof(saveFilePath), "./%Y-%m-%d_%H_%M_%S_usb.bin",localtime(&timep));

writeBin(saveFilePath, randomif_buf, sizeof(randomif_buf));

这里需要包含的头文件如下:

#include <string>
#include <time.h>
#include <iostream>

针对bin文件的读取,可以采用如下函数实现,读取正确返回0,读取错误返回-1

int readBin(char *path, char *buf, int size)
{
    FILE *infile;

    if ((infile = fopen(path, "rb")) == NULL)
    {
        printf("\nCan not open the path: %s \n", path);
        return -1;
    }
    fread(buf, sizeof(char), size, infile);
    fclose(infile);
    return 0;
}

实际使用过程中存储的bin文件如下图所示

C++/C按照时间命名保存bin文件

明显可以看出来文件的命名格式时正确的,是上述我们代码的实现方式。

bin文件使用vscode查看,需要安装一个bin文件的插件

Binary Viewer

如下图 所示搜索,该插件,安装即可 

C++/C按照时间命名保存bin文件

具体使用如下图所示

选中需要查看的bin文件,右击选择16进制查看的方式,所有的数据都可以显示出来,还是比较方便,尤其是在ubuntu中。window中很多工具可以查看bin文件,ubuntu这也是个好方式。 

C++/C按照时间命名保存bin文件文章来源地址https://www.toymoban.com/news/detail-478080.html

到了这里,关于C++/C按照时间命名保存bin文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux中在指定路径中按照文件名模糊查找文件之find命令

    大家在实际项目中,可能有时候在排查问题中需要查找一些系统文件,然后看下对应文件信息。例如日志文件信息,数据文件信息等,太多不方便查找时,就可以使用该相关命令来查找最合适; 精准搜索 find 指定路径 -name \\\"搜索内容\\\" 模糊搜索 find 指定路径 -name \\\"*模糊搜索内

    2024年02月06日
    浏览(62)
  • Linux centos中find命令的多种用途:按照具体应用来详细说明find的用法举例

    目录 一、find命令 二、find命令的语法 (一)语法格式 (二)选项 1、选项(option)介绍 2、控制符号链接的option 3、调试选项debugopts 4、优化选项 (三)表达式expression 1、选项options 2、测试 tests 3、动作actions 三、实际应用的例子 1、按名称查找文件: 2、按文件类型查找: 3、按

    2024年01月19日
    浏览(38)
  • Linux中文件重命名 - 如何在Linux中更改文件名?

    在Linux操作系统中,你可以使用多种方法来更改文件名。无论是通过命令行还是图形用户界面,下面将介绍几种常用的方法来重命名文件。 使用mv命令 mv命令是Linux中最常用的文件重命名命令之一。它的语法如下: 使用rename命令 rename命令是一个强大的批量重命名工具,它可以

    2024年02月07日
    浏览(37)
  • linux对一个文件夹中的所有文件重命名

    在Linux中,你可以使用 mv 命令对一个文件夹下的所有文件进行重命名。下面是几种常见的用法: 方法1: 批量添加前缀或后缀: 方法2: 使用正则表达式重命名 例如,假设你有一个文件夹 /home/user/documents ,其中包含以下文件: file1.txt file2.txt file3.txt 如果你想给这些文件添加前

    2024年02月09日
    浏览(27)
  • 记录linux运行服务提示报错/bin/java: 没有那个文件或目录

    描述:在执行jar启动命令时候提示 没有/bin/java 这个文件或者目录;然后我vi /usr/bin/java,是存在该文件的;那到底是什么问题呢,该不是没有创建软连接吧? 1、执行下述命令先测试下软链接是否有创建 创建说明已存在,说明是软连接失效了; 2.先删除软连接 3、再次执行上

    2024年02月07日
    浏览(39)
  • linux报错 /bin/bash^M:解释器错误:没有那个文件或目录

      在Linux中运行脚本时,会出现linux报错 /bin/bash^M:解释器错误:没有那个文件或目录。这是因为我们将在Windows下编写的脚本拷贝到Linux环境中运行时会出现运行不了的情况。主要还是Windows的换行符为rn,而Linux环境中的换行符号为n。   解决方法有:   方法一:   方法

    2024年02月13日
    浏览(42)
  • MongoDB 按照时间段查询某个物理机的CPU使用率,按照时间倒序排序,取出最新的5条数据

    1、连接MongoDB 1)如果 没有设置用户名密码 ,命令如下: 2)如果 设置了用户名密码 (比如: ceilometer / password ),命令如下: 2、连接数据库 其中,ceilometer 是需要使用的数据库名。 3、执行查询 查询SQL如下: 其中, meter 是性能表名, physical.cpu.utilization 是指标名, times

    2024年02月15日
    浏览(35)
  • Linux移动或重命名文件和目录(mv命令)

    mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下: 选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖; -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项

    2024年02月17日
    浏览(30)
  • 【Linux】 /bin/bash^M: 坏的解释器: 没有那个文件或目录[已解决]

    Windows 10 系统下编辑了一个shell脚本文件,然后copy到了远程的Linux服务器。 运行 xxx.sh 文件时报错 这个文件在Windows下编辑过,在Windows下每一行结尾是nr,而Linux下则是n,所以才会有多出来的r。 使用指令 会把 xxx.sh 中的r 替换成空白。

    2024年02月12日
    浏览(35)
  • Linux系统移植二:生成fsbl引导文件并制作BOOT.bin(非petalinux版)

    对于ZYNQ而言,在引导过程中,先运行FSBL来设置PS,然后运行U-Boot用于加载Linux内核映像并引导Linux Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版) 一文中已成功生成了u-boot文件 然后将u-boot文件重命名为u-boot.elf mv u-boot u-boot.elf 备用 生成BOOT.BIN文件还需要fs

    2023年04月09日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包