首页 > 其他分享 >io流的二进制读写

io流的二进制读写

时间:2024-01-15 23:46:05浏览次数:22  
标签:std name 二进制 读写 ios age io include make


#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdexcept>
#include<algorithm>
#include<fstream>
#include<string>

class make {
public:
    make(const char* name, int age) {
        this->age = age;
        std::strcpy(this->name, name);
    }
    make() {}

    char name[64];
    int age;
};

//写文件
void test01() {
    make m1("123", 123);
    make m2("456", 456);

    std::ofstream ofs;
    ofs.open("test.txt",std::ios::out | std::ios::trunc | std::ios::binary);
    if (!ofs.is_open()) {
        std::cout << "open fail\n";
    }

    //写
    ofs.write((const char*)&m1, sizeof(make));
    ofs.write((const char*)&m2, sizeof(make));

    ofs.close();
}

//read file

void test02() {
    std::ifstream ifs;
    ifs.open("test.txt", std::ios::in | std::ios::binary);
    if (!ifs.is_open()) {
        std::cout << "打开失败\n";
    }

    //read file
    make m1, m2;

    ifs.read((char*)&m1, sizeof(make));
    ifs.read((char*)&m2, sizeof(make));

    std::cout << "name:" << m1.name << " age:" << m1.age << '\n';
    std::cout << "name:" << m2.name << " age:" << m2.age << '\n';

    ifs.close();
}

auto main()->int32_t{
   

    test01();
    test02();
    return static_cast<int>(0);
}


标签:std,name,二进制,读写,ios,age,io,include,make
From: https://www.cnblogs.com/lambdaios/p/17966658

相关文章

  • c++的文件读写
    #define_CRT_SECURE_NO_WARNINGS#include<iostream>#include<stdexcept>#include<algorithm>//1引入头文件#include<fstream>#include<string>//把磁盘信息输入到缓冲区然后读到程序中(读文件)voidtest02(){std::ifstreamifs;ifs.open("t......
  • R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化
    原文链接:http://tecdat.cn/?p=22732 原文出处:拓端数据部落公众号 关联规则挖掘是一种无监督的学习方法,从交易数据中挖掘规则。它有助于找出数据集中的关系和一起出现的项目。在这篇文章中,我将解释如何在R中提取关联规则。关联规则模型适用于交易数据。交易数据的一个例子可以......
  • 监控复制:PG_STAT_REPLICATION
    PostgreSQL复制(同步和异步复制)是数据库社区中最广泛使用的功能之一。如今,人们正在构建高可用性集群或使用复制来创建只读副本来分散工作负载。这里需要注意的是,如果您使用复制,则必须确保您的集群受到正确监控。这篇文章的目的是解释一些基础知识,以确保您的PostgreSQL集群保持......
  • union和union all的区别?
    一、显示结果不同union会自动压缩多个结果集合中的重复结果,而unionall则将所有的结果集全部显示出来二、对重复结果的处理不同unionall是直接连接,取到的是所有值,记录可能有的重复;union是取唯一值,记录没有重复。所以union在进行表链接后会筛选掉重复的记录,unionall不会去除......
  • localStorage、sessionStorage和cookie的使用
    vue-cookies的使用首先需要安装vue-cookiescnpminstallvue-cookies-S 具体使用方法如下:设置cookie://key,value形式、过期时间为7天cookie.set('name','zeng','7d') 获取cookie://打印key值为name的cookieconsole.log(cookie.get('name')) 删除......
  • 事务Transactional失效的这10个场景,你一定得知道!
    @Transactional失效的场景都有哪些呢?如图所示!以上我们列举了10种场景,接下来我们针对不同的场景来具体的分析下。一、代理不生效导致1、同一个类中,方法内部调用事务失效同一个类中,addOrder()方法无事务,addOrder2()方法存在事务,addOrder()调用addOrder2()。我们通过外部方法调用addOr......
  • SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!1、打开路径文件夹:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/2、新建文件夹:arc3、下载文件:https://github.com/kamyarelya......
  • C. Partitioning the Array
    原题链接直接看代码#include<bits/stdc++.h>usingnamespacestd;inta[200005]={0};intn;intcheck(intk){intm=0;//任何数与零的gcd都是其本身for(inti=1;i<=n-k;i++){m=__gcd(m,abs(a[i]-a[i+k]));//从题干推出来的性质?对于所有abs(a[i]-a......
  • 题解「JOI 2014 Final」IOI 馒头
    传送门。题意有\(n\)个物品,\(m\)个背包。第\(i\)个物品的价值是\(P_i\),第\(j\)个背包可以装\(C_i\)个物品,但会消耗\(E_i\)的价值。背包不能重复买,问最多可以获得多少价值。分析首先一个简单的贪心,我们在购买背包后塞入物品,一定时从大往小塞,也就是说,我们可以先对......
  • FPGA:spi_flash读写测试
    SIP_FLASH逻辑设计需求SPI读写flash,最大4mbit,实现给定地址,长度可完成存储数据读取。本设计包含指令:RSR-1、PP、SE、BE、READ。用户接口:PortnameDirectionTypeDescriptionclk_sysINPUTWIRE输入系统时钟rst_sysINPUTWIRE输入系统......