如何在文件处理中使用 C++ 字符串?我创建了一个将 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();
}