如何修改二进制文件

时间:2015-11-11 00:15:02

标签: c++ qt

我正在尝试修改二进制文件中的某些值。这就是我创建它的方式,我读了它:

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”但我不知道如何修改它。

我正在阅读文档,但我没有找到一个好的例子。

0 个答案:

没有答案