首页 > 编程语言 >c++数组的二进制文件读写

c++数组的二进制文件读写

时间:2023-10-17 15:35:13浏览次数:41  
标签:std 二进制 读写 object ios OB c++ filename char

#include<fstream> //for ifstream、ofstream

template<typename OB>
inline void saveObject(const char*filename, OB & object,int length) //传入要保存的对象引用
{
    std::ofstream osm(filename, std::ios::out | std::ios::binary);
    osm.write((const char *)&object, length*sizeof(OB));
    osm.close();
}

template<typename OB>
inline void readObject(const char* filename, OB * object,int length) //传入读取之后对象存储的指针
{
    std::ifstream ism(filename, std::ios::in | std::ios::binary);
    ism.read((char*)object, length*sizeof(OB));
    ism.close();
}

int main()
{
    uint16_t b[2] = { 1,2 };
    saveObject("Data.bin", b,2);
    uint16_t c[2];
    readObject("Data.bin", c,2);
    return 0;
}

 

【参考】

【C++ 存储和读取二进制文件以及类的实例】_c++ 保存二进制文件_xhgen的博客-CSDN博客

标签:std,二进制,读写,object,ios,OB,c++,filename,char
From: https://www.cnblogs.com/xixixing/p/17769819.html

相关文章

  • Linux MySQL8.1 二进制安装和配置
    下载bin文件https://dev.mysql.com/downloads/mysql/选择LinuxGeneric,下载对应的tar包解压tar包解压完成后,目录结构如下:lsbindocsincludelibLICENSEmanREADMEsharesupport-files每个目录的内容,官方文档有说明DirectoryContentsofDirectorybi......
  • VSCode 新手入门第二期 C/C++环境配置
    前言编译器由于VSCode不像VisualStudio和DEV,CodeBlocks一样自带编译器,所以说我们得自己安装编译器现在主流编译器有许多,我这边推荐TDM-GCC,因为后面还有图形化库要配编译器下载https://jmeubank.github.io/tdm-gcc/download/正常下载中间那个tdm64版本编译器安装选Creat......
  • 安装C++
    基础补充我觉得有必要先回顾一下编译型语言和解释型语言的区别。Python是典型的解释型语言,可以回忆一下曾经使用Python的场景,运行Python的时候工作空间中不会生成其他的文件了,直接一个run就可以完成。但是编译型语言如C和C++,这两个语言的程序在运行之前都需要先被编译并且会在工......
  • 学C++就象学功夫
    Q:HowcanIcompletelymastertheC++language?A:LearningC++isalotlikelearningkungfu.Thereisalwayssomeonewhoknowsmorekungfu.Youcanpractice.Youcanimprove.Youcangetsogoodthatyougivelessonstoothers,maybewritebooks.But......
  • 前端二进制流
    FileReader----读取file/blob数据FileReader.readAsArrayBuffer()异步方法,读取完成result属性中保存的将是被读取文件的ArrayBuffer数据对象。FileReader.readAsDataURL():一旦完成,result属性中将包含一个data:URL格式的Base64字符串以表示所读取文件的内容......
  • Microsoft Visual Studio Code 安装配置教程 (C/C++)
    MicrosoftVisualStudioCode安装教程前言由于看不习惯Dev-C++等古老的IDE,所以决定装VSCode(可是现在感觉VS更好)所以我就把安装过程记录了下来。0x01下载下载0x02安装前面的不用讲了吧。。。毕竟全是中文的。。。0x03配置打开VSCode,你发现全是英文的。所以......
  • windows C++ 环境配置完整记录
    今日尝试在windows上配置C++编程环境,比Linux麻烦一些,但是搞清楚了也不复杂。大体上参考了vscode的官方教程,这里记录一下所有需要做的事情。基础流程安装vscode以及C/C++插件InstallingtheMinGW-w64toolchain主要利用了MSYS2,是一个在Windows平台上模拟Linux运......
  • leetcode274 H指数 —— 排序后遍历/差分 c++
    给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 h指数的定义:h 代表“高引用次数”,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次。......
  • 2——of C++ class relative
    C++类C++和java都是面向对象的语言,所以类的语法上看起来相似,但也有些区别,比如访问控制符的书写规范。除此之外,在访问控制权限,静态static等内容也有很大区别1.访问控制权限访问控制符//不加的默认私有classplayer{intx,y;intspeed;voidmove(inta,intb){......
  • C++11手写线程池1
    线程池结构  任务队列结构体 保存一个回调函数指针和一个,参数指针 实现任务队列 为了多个生产者多个消费者取东西混乱的避免要加互斥锁线程池threadpool类要实现的初始化一个线城池参数是最小数和最大数   malloc和new的区别new要调用该类的构......