我有一个编写xml的程序,我使用了一个逻辑,它创建了一个空白的xml if(file.open(QIODevice::ReadWrite))
{
QTextStream stream(&file);
stream<<""<<endl;
}
XMLWriter();
然后我打电话给XMlwriter。但问题是,当我想进行更改并保存第二次时,它不会被覆盖。它只是添加到现有文件,因此创建重复。有没有我可以在stream<<""<<endl;
答案 0 :(得分:1)
要截断文件,请将QIODevice::Truncate
标记传递到QFile::open()
来电:
if (file.open(QIODevice::ReadWrite | QIODevice::Truncate)) {
// ....
}
或者,如果您只是写入文件(而不是从中读取),则可以使用QIODevice::WriteOnly
标记which implies QIODevice::Truncate
:
if (file.open(QIODevice::WriteOnly)) {
// ....
}