私の問題は次のようになります。「Register」というクラスがあります。「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 型) があり、それらを正常に取得できますが、文字列の場合はそうではありません。
私は何か間違ったことをしていますか?バイナリ ファイルと文字列を操作する際に考慮すべき点はありますか?
どうもありがとうございました。