ファイル処理でC++文字列を使用するにはどうすればよいですか?プライベートデータメンバーの1つとしてC++文字列を持つクラスを作成しましたが、現時点で操作しておらず、コンストラクターでデフォルト値で初期化されていても、ファイルからの読み取り中にエラーが発生しました。ファイルへの書き込み中は問題ありません。代わりにC文字列を使用すれば問題なく動作しますが、使用したくありません。これを解決する方法はありますか?
class budget
{
float balance;
string due_name,loan_name; //string objects
int year,month;
float due_pay,loan_given;
public:
budget()
{
balance=0;
month=1;
due_name="NO BODY"; //default values
loan_name="SAFE";
year=0;
balance = 0;
due_pay=0;
loan_given=0;
}
.
.
.
};
void read_balance() //PROBLEM AFTER ENTERING THIS FUNCTION
{
system("cls");
budget b;
ifstream f1;
f1.open("balance.dat",ios::in|ios::binary);
while(f1.read((char*)&b,sizeof(b)))
{ b.show_data();
}
system("cls");
cout<<"No More Records To Display!!";
getch();
f1.close();
}