【问题标题】:Qt: prepend text to fileQt:将文本添加到文件中
【发布时间】:2016-05-04 09:55:25
【问题描述】:

我想写一个文件,我做到了,但它总是写到最后一行。有没有办法让它写到第一行?例如,给定一个包含

的文件
apple
orange

我想添加“香蕉”;我希望文件变成:

banana  
apple
orange

我当前的代码是:

void Write (QString file)
{
    QFile sfile(file);
    if(!sfile.open(QFile::Append |QFile::Text))
    {
        return;
    }
    QTextStream out(&sfile);
    out <<"        "<<xscore<<"        "<<oscore<<endl;
    sfile.close();
}

我应该如何更改它以在文件开头插入文本?

【问题讨论】:

    标签: c++ qt file


    【解决方案1】:

    append添加到文件中总是会添加at the end

    如果你想插入第一行,你可以读取当前文件内容(buffer),打开它写你的new content然后写buffer

    /编辑:

    一个小例子可能看起来像这样......

    QFile sfile(file);
    sfile.open(QFile::ReadOnly | QFile::Text);
    QByteArray buffer = sfile.readAll();
    sfile.close();
    sfile.open(QFile::WriteOnly | QFile::Text);
    QTextStream out(&sfile);
    out <<"        "<<xscore<<"        "<<oscore<<endl;
    out << buffer;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 2016-08-29
      • 2018-05-05
      相关资源
      最近更新 更多