使用QFile :: Append打开文件之前的删除文件选项

时间:2013-09-18 15:58:47

标签: c++ qt

大多数时候我想迭代地向文件中添加一行,但在打开要追加的文件之前,我想确定它是一个空文件(如果存在则删除)。< / p>

这种情况经常发生,我猜我可能会忽略一些事情。

那么,在追加之前首先删除文件最方便的方法是什么?

QFile outfile(filename);
if (outfile.open(QFile::Append | QFile::Text))  
// An option like `QFile::DELETE_FIRST` or something would be great.
{
    ...
}

1 个答案:

答案 0 :(得分:1)

只是不要使用QFile::Append - 它将以附加模式打开文件,以便将所有dta写入文件的末尾。您可以看到所有OpenModeFlag的{​​{3}}。请改用QIODevice::Truncate

  

QIODevice :: Truncate如果可能,设备在打开之前会被截断。设备的所有早期内容都将丢失。