如果文件启动,我该怎么办才能读取函数,get读取file.dat? 我将一个对象写入文件,我需要在程序启动时读取。
问题:每当我启动程序读取已经保存的数据时,我就会出现分段错误问题
void DataManip::DataManipWrite(DateAdress *writer) {
ofstream ObjectWriter;
ObjectWriter.open("dbaddress.dat", ios::binary);
ObjectWriter.write((char *)&writer, sizeof(writer));
ObjectWriter.close();
}
void DataManip::DataManipRead(DateAdress *reader) {
ifstream ObjectReader;
ObjectReader.open("dbaddress.dat", ios::binary);
ObjectReader.read((char *)&reader, sizeof(reader));
ObjectReader.close();
}
答案 0 :(得分:0)
首先,sizeof运算符返回指针的大小而不是类。其次,如果你想简单地将内存转储到文件中并稍后阅读,那么类本身必须是POD。第三,你正在写指针本身的值,而不是类数据。