(这是一个家庭作业项目。)我正在尝试将 A 类中的对象(包含几个字符串和整数,以及 B 类中的对象的列表)写入文件。然后我必须从文件中读回这些对象并显示它们的内容。我正在使用这段代码:
写作:
ofstream ofs("filestorage.bin", ios::app|ios::binary);
A d;
ofs.write((char *)&d, sizeof(d));
ofs.close();
阅读:
ifstream ifs("filestorage.bin", ios::binary);
A e(1);
while(ifs.read((char *)&e, sizeof(e))) {
cout<<e;
}
ifs.close();
<<
已经重新定义了。
它将数据写入文件,然后将其读回,显示我想要的所有内容,但最后我得到了一个不错的“访问冲突”错误。我还尝试将简单变量写入和读取到文件中(如int
s)。效果很好;但是当我尝试读取对象或字符串时,我得到“访问冲突”。写作接缝没问题,因为我没有错误。
你能告诉我为什么会发生这种情况,我该如何解决?如果有必要,我也可以发布我的 A 和 B 类。谢谢!