我正在尝试修改二进制文件中的某些值。这就是我创建它的方式,我读了它:
void Save()
{
User user1;
user1.Rol=1;
user1.Name="John";
user1.Pass="test1";
User user2;
user2.Rol=2;
user2.Name="Bob";
user2.Pass="test2";
QFile file("users.txt");
if(!file.open(QIODevice::WriteOnly))
{
qDebug()<< "Error.";
return;
}
QDataStream out(&file);
out.setVersion(QDataStream::Qt_5_5);
out << user1;
out << user2;
file.flush();
file.close();
}
我想知道如何修改“John”。
void Load()
{
User user;
QFile file("users.txt");
if(!file.open(QIODevice::ReadOnly))
{
qDebug()<< "Error.";
return;
}
QDataStream in(&file);
in.setVersion(QDataStream::Qt_5_5);
while(!in.atEnd())
{
in >> user;
if(user.Name=="John")
{
qDebug() << user.Name << " is " << user.Rol << " and he has the password: " << user.Pass;
}
}
file.close();
}
结果是:“John”为1,他有密码:“test1”。我想将其修改为:“John”并且他有密码:“test3”但我不知道如何修改它。
我正在阅读文档,但我没有找到一个好的例子。