码迷,mamicode.com
首页 > 编程语言 > 详细

c++序列化对象的文件存取

时间:2020-11-20 11:48:51      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:成功   bsp   转换   this   png   using   span   左值   纯粹   

#include<iostream>
#include<fstream>
using namespace std;
//总体思想就是流,和标准输入输出cin/cout很类似
//只是这个流是在文件中发生而不是显示器上
 
class Person
{
public:
    //放个空的构造函数方便创建空对象
    Person(){};
    //纯粹赋值用
    Person(int id,int age)
    {
        this->id = id;
        this->age = age;
    }
    //打印下信息
    void detail()
    {
        cout<<"id: "<<this->id<<" age: "<<this->age<<endl;
    }
private:
    int age;
    int id;
};
 
void seri()
{
    //创建两个家伙
    Person p1(1,20);
    Person p2(2,40);
    //注意字符串的单双引号问题 
    ofstream osm("ser",ios::out|ios::binary);
    //这个地址一定要转换成char*
    osm.write((char*)&p1,sizeof(Person));
    osm.write((char*)&p2,sizeof(Person));
    osm.close();
    
    //先写就先读到
    Person p;
    ifstream ism("ser",ios::in|ios::binary);
    //不用写左值
    ism.read((char*)&p,sizeof(Person));
    p.detail();
    ism.read((char*)&p,sizeof(Person));
    p.detail();
    ism.close();
}
 
int main()
{
    seri();
    return 0;
}

 技术图片

 

 读取成功!!

 

c++序列化对象的文件存取

标签:成功   bsp   转换   this   png   using   span   左值   纯粹   

原文地址:https://www.cnblogs.com/xingfei/p/13977785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!