c++ 存 读结构体

#include<iostream>
#include <fstream>

using namespace std;
struct SalaryInfo{
    unsigned id;
    double salary;
    int ranges[500];
};
int main(){
    SalaryInfo employee1 ={600001, 8000};
        employee1.ranges[3] = 4;
        employee1.ranges[13] = 44;
    ofstream os("payroll", ios_base::out | ios_base::binary);
    os.write(reinterpret_cast<char *>( &employee1), sizeof(employee1) );
    os.close();
    ifstream is("payroll", ios_base::out | ios_base::binary);
    string s;
    getline(is, s);
    is.close();
    char *data;
    int len = s.length();
    data = (char *)malloc((len+1)*sizeof(char));
    s.copy(data,len,0);
    SalaryInfo *employee2 = (SalaryInfo *) data;
    std::cout << employee2->id << std::endl;
    std::cout << employee2->ranges[3] << std::endl;
    std::cout << employee2->ranges[13] << std::endl;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。