我应该如何继续,以便函数读取,获取读取文件.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();
}
首先,sizeof 运算符返回指针的大小而不是类。其次,如果你只想将内存转储到文件中并在以后读取它,那么类本身必须是一个 POD。第三,你写的是指针本身的值,而不是类数据。