首先,我不太擅长c ++。所以请放轻松我。 我尝试更改密码,但我只想更改文本文件中的某个密码。但是当文本文件重新写入时,只有一个新密码退出。整个文件重写了。:(
user.txt
admin openmyacc
guest imguest12
void Passchange()
{
string tempass;
system("cls");
cout<<"enter current password: ";
cin>>tempass;
if(tempass==inpass)
{
cout<<"utility to change password stored in file\n";
cout<<"CHANGE PASS TO: ";
cin>>user;
ofstream Passfile("user.txt", ios::out);
Passfile<<user;
Passfile.close();
cout<<"password successfully changed";
getch();
main();
}
答案 0 :(得分:1)
虽然附加很容易,但是没有一种简单的方法来修改文件中间的文本。您需要读取旧文件并重新编写它,同时检测旧条目并将其替换为新数据。
答案 1 :(得分:0)
我假设您的文件中有"username<space>password"
格式,每个用户名都有一行?
这是我的建议:写一个函数可以解决这个问题: