我的问题是这样的:我有一个名为“注册”的课程。它有一个名为“trainName”的字符串属性及其设置器:
class Register {
private:
string trainName;
public:
string getTrainName();
};
事实上,它更长,但我想让它更简单。
在其他类中,我将几个 Register 对象复制到一个二进制文件中,之前设置了 trainName。
Register auxRegister = Register();
auxRegister.setName("name");
for(int i = 0; i < 10; i++) {
file.write(reinterpret_cast<char*>(&auxRegister),sizeof(Register));
}
稍后,我尝试从二进制文件中检索寄存器:
Register auxRegister = Register();
while(!file.eof()) { //I kwnow this is not right. Which is the right way?
file.read(reinterpret_cast<char*>(&auxRegister), sizeof(Register));
}
它发生它不起作用。实际上,Register 确实有更多属性(它们是 int),我可以正常检索它们,但字符串并非如此。
难道我做错了什么?在处理二进制文件和字符串时我应该考虑什么?
非常感谢。