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

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文件如下图所示

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

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

Binary Viewer

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

具体使用如下图所示

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

相关文章:

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

背景 在Linux应用编程过程中&#xff0c;使用C或者C语言保存、读取bin文件是比较常见的需求。这里详细记录一下使用C保存bin文件&#xff0c;也可以使用C语言实现。 代码 C/C语言保存bin文件函数&#xff0c;C中也能使用 正确写入返回0&#xff0c;错误返回-1 // C 保存bi…...

面向多告警源,如何构建统一告警管理体系?

本文介绍告警统一管理的最佳实践&#xff0c;以帮助企业更好地处理异构监控系统所带来的挑战和问题。 背景信息 在云原生时代&#xff0c;企业IT基础设施的规模越来越大&#xff0c;越来越多的系统和服务被部署在云环境中。为了监控这些复杂的IT环境&#xff0c;企业通常会选…...

python 面向对象 -- 简单理解版

一、什么是面向对象 Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。除了Python&#xff0c;Java也是一门面向对象的编程语言。 先来简单的了解下面向对象的一些基本特征。 类(Class): 用来描述具有相…...

SpringMVC 程序开发

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录 什么是 Spring MVCMVC 定义 怎么学 Spring MVCSpring MVC 创建和连接创建 Spring MVC 项目RequestMapping 注解介绍PostMappi…...

使用单片机遇到的几个问题及解决方案1

1.为什么我跟着视频学习的过程中&#xff0c;我没有找到“端口"的选项呢&#xff1f;我甚至没有出现“其他插口”。 想要找到设备管理器最快的方法就是&#xff1a; 首先如果把输入法调为大写形式&#xff0c;然后按下“WINX”&#xff0c;再按“M”就会出现一个设备管理…...

vue项目中el-upload 组件添加token的方法

在使用el-upload的时候&#xff0c;上传文件到服务器&#xff0c;有时候后台要求上传token&#xff0c;怎么处理呢&#xff1f;以下是一个示例。 效果图 template中片段 <el-dialog :modal-append-to-body"false" title"上传文件" :visible.sync"…...

独立按键检测短按、长按,松手后响应操作

背景 有项目使用独立按键检测&#xff0c;短按、长按。根据使用效果&#xff0c;发现松手后&#xff0c;也就是按键弹起后响应操作比较好操作。 记得之前&#xff0c;博主写过一篇关于按键的检测的文章&#xff0c;但是过于复杂了。可能很难懂&#xff0c;这里就简单一点&…...

BurpSuite2023测试越权漏洞

BurpSuite2023测试越权漏洞 BurpSuite安装创建项目 - 打开内置浏览器越权漏洞测试问题处理 BurpSuite安装 官网下载社区版并安装&#xff0c;下载地址&#xff1a;链接: https://portswigger.net/burp 安装成功后图标 创建项目 - 打开内置浏览器 打开BurpSuite&#xff0c…...

申请国家标准项目管理专业人员能力评级(CSPM)报名条件有哪些?

2021年10月&#xff0c;中共中央、国务院发布的《国家标准化发展纲要》明确提出构建多层次从业人员培养培训体系&#xff0c;开展专业人才培养培训和国家质量基础设施综合教育。建立健全人才的职业能力评价和激励机制。由中国标准化协会&#xff08;CAS&#xff09;组织开展的项…...

代码随想录算法训练营第五十二天|300.最长递增子序列|674. 最长连续递增序列|718. 最长重复子数组

LeetCode300.最长递增子序列 动态规划五部曲&#xff1a; 1&#xff0c;dp[i]的定义&#xff1a;本题中&#xff0c;正确定义dp数组的含义十分重要。dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度。为什么一定表示 “以nums[i]结尾的最长递增子序” &#xff0c…...

完全卸载mysql教程

引言 很多人因为第一次安装mysql导致安装错误&#xff0c;或者安装的数据库版本太高&#xff0c;比如mysql8.0版本&#xff0c;出现了很多问题&#xff0c;导致数据库无法使用&#xff0c;或者一些图形界面无法操作&#xff0c;想要卸载&#xff0c;重装稳定的mysql数据库&…...

4G开发板-安卓手机开发套件-MTK主板开发板定制

开发板是一种用于嵌入式系统开发的电路板&#xff0c;它包含了各种硬件组件&#xff0c;如中央处理器、存储器、输入设备、输出设备、数据通路/总线以及外部资源接口等。为了满足特定的开发需求&#xff0c;嵌入式系统开发者通常会根据项目要求来定制开发板&#xff0c;当然用户…...

人工智能十大新星揭晓,华人学者占90%

人工智能领域著名杂志 IEEE Intelligent Systems发布了 2022 年度“人工智能十大新星”&#xff08;AIs 10 to Watch&#xff09;名单 &#xff0c;其中有九位都是华人研究者。知识人网小编推荐给大家。 近日&#xff0c;人工智能领域著名杂志 IEEE Intelligent Systems公布了 …...

ROS学习——通信机制(话题通信①—发布方实现)

2.1 话题通信 Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 040话题通信(C)1_发布方框架_Chapter2-ROS通信机制_哔哩哔哩_bilibili 一、ROS 中的基本通信机制主要有如下三种实现策略 话题通信(发布订阅模式服务通信(请求响应模式)参数服务器(参数共享模式) 二、…...

【运筹优化】最短路算法之SPFA算法 + Java代码实现

文章目录 一、SPFA算法简介二、SPFA算法思想三、Java代码实现四、测试 一、SPFA算法简介 SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称&#xff0c;通常用于求含负权边的单源最短路径&#xff0c;以及判负权环。SPFA 最坏情况下复杂度和朴素 Bellman-Ford 相同&#xf…...

linuxOPS基础_linux权限管理

权限概述 什么是权限 ​ 在多用户计算机系统的管理中&#xff0c;权限是指某个特定的用户具有特定的系统资源使用权利。 在Linux 中分别有读、写、执行权限 \权限针对文件权限针对目录读r(read)表示可以查看文件内容&#xff1b;cat、less…表示可以(ls)查看目录中存在的文…...

linux安装homeassistant(智能设备远程控制开源框架)

1、安装docker 先切换到root 用户&#xff0c;先安装一些基本环境&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2添加阿里云软件源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo然后安装 D…...

TensorRT Triton Inference Server: 版本 error魔术标记不匹配 , NGC使用

魔术标记不匹配错误Serialization assertion magicTagRead kMAGIC_TAG failed.Magic tag does not match 原因&#xff1a; 转换和推理使用的镜像的标签是相同的&#xff0c;但是转换的镜像中pip list得到trt版本为8.6.0&#xff0c;但是推理环境中 rootf2c810ba3976:/# /usr/…...

Elasticsearch 文本分析器(下)

字符过滤器 注意&#xff1a;字符过滤器用于在将字符流传递给分词器之前对其进行预处理 html_strip HTML元素替换过滤器 此过滤器会替换掉HTML标签&#xff0c;且会转换HTML实体 如&#xff1a;& 会被替换为 &。 {"tokenizer": "keyword","…...

Git操作方法

目录 Git是什么 Git特点 Git作用 Git原理 集中式 分布式 Git安装 修改语言 Git操作 1.初始化Git仓库 2.提交工作区的内容到版本库 3.查看版本记录 4.版本回退 5.版本前进 Git 命令 通用操作 工作状态 版本回退 版本前进 远程仓 1.GitHub 2.GitLab 3.码云…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...