看下面的代码行不行,把T换成你的自定义结构,N也可替换为真实长度。
const int N=10;
T Array[N];
...
ofstream SaveFile("save.bin",ios_base::out|ios_base::binary);
for(int i=0;i<N;++i){
SaveFile.write(reinterpret_cast<const char*>(&Array[i]),sizeof(T));
}
SaveFile.close();
T Array2[N];
ifstream LoadFile("save.bin",ios_base::in|ios_base::binary);
for(int i=0;i<N;++i){
LoadFile.read(reinterpret_cast<char*>(&Array2[i]),sizeof(T));
}
const int N=10;
T Array[N];
...
ofstream SaveFile("save.bin",ios_base::out|ios_base::binary);
for(int i=0;i<N;++i){
SaveFile.write(reinterpret_cast<const char*>(&Array[i]),sizeof(T));
}
SaveFile.close();
T Array2[N];
ifstream LoadFile("save.bin",ios_base::in|ios_base::binary);
for(int i=0;i<N;++i){
LoadFile.read(reinterpret_cast<char*>(&Array2[i]),sizeof(T));
}
本文介绍了一种使用C++实现自定义结构体的序列化与反序列化的方法。通过ofstream和ifstream配合reinterpret_cast进行文件的写入与读取操作,实现了结构体数据的保存与加载。

被折叠的 条评论
为什么被折叠?



