我正在尝试从文件读取和写入 std::map 对象。地图类型是
map<string, Node*>
我已成功将其写入文件但未成功将其读回。我不确定我是否正确存储它我认为这是因为我在地图(节点*)中有指针,但我不确定。我怎样才能用它包含的所有对象完全写出整个地图,然后完美地读回来。我目前的读/写方法是
读
template<typename T>
T ReadObject(string path) {
T num;
ifstream infile;
infile.open(path, ios::in|ios::binary);
infile.read(reinterpret_cast<char *>(&num),sizeof(T));
infile.close();
return num;
}
写
template<typename T>
void WriteObject(string path, T& num) {
ofstream outfile;
outfile.open (path, ios::out|ios::binary);
outfile.write(reinterpret_cast<char *>(&num),sizeof(T));
outfile.close();
}
顺便说一句,这些在读写整数时起作用