1

使用 Qt,我打开一个文件进行读写访问,首先读取一些内容,然后在流中查找并写入一些新数据。当我关闭文件时,我想在当前文件位置截断它。目前,我用 f.resize(f.pos()) 来做,想知道是否有更简单的方法来实现这一点:

QFile f(filename);
if(f.open(QFile::ReadWrite)) {
    QTextStream str(&f);

    // do some reading from str here

    f.reset();

    // write some stuff to str here

    f.resize(f.pos());
} else
    qDebug() << "Could not open file" << it->filename();
f.close();

使用 Qt::Truncate 已经在读取之前截断了文件,这不是我想要的。

4

0 回答 0