这是我的课程:
class User{
char name[40], address[50], phone[15];
long uid; int password;
char acctType;
float acctBalance;
void GenerateIdPassword();
int GetPassword();
public :
int NewAccount();
int LoginToAccount();
void DisplayAccountDetails();
int GetAcctNumber();
float GetBalance();
void Deposit(float);
void Withdraw(float);
void ChangePassword();
void StoreData(User);
};
注意:我尚未包含任何成员函数定义。
void User::StoreData(User u)
{
fstream fio;
long p;
User t;
fio.open("UserAccounts.txt", ios::in | ios::out);
while(fio) {
p = fio.tellg();
fio.read((char*)&t, sizeof(t));
if(u.uid == t.uid) {
fio.seekp(p);
fio.write((char*) &u, sizeof(u));
break;
}
}
fio.close();
}
如果用户实际上已修改与其帐户有关的任何信息,则此功能将修改文件中的记录。
如果最后我从该文件修改了帐户,则会在文件中得到垃圾值。
有人可以告诉我我做错了吗!