C++ 使用open(QIODevice::WriteOnly)删除我的文件内容

C++ 使用open(QIODevice::WriteOnly)删除我的文件内容,c++,xml,qt,readfile,C++,Xml,Qt,Readfile,我有一个方法可以编辑XML文件 void ParserXML::writeFile(std::string path) { QFile xmlFile(path.c_str()); xmlFile.open(QIODevice::WriteOnly); m_XMLtree.setContent(&xmlFile); xmlFile.close(); } 但我发现它打开了我的文件(通过路径),并删除了其中的所有内容 有人能解释一下原因吗 尝试使用xmlFi

我有一个方法可以编辑XML文件

void ParserXML::writeFile(std::string path)
{
    QFile xmlFile(path.c_str());
    xmlFile.open(QIODevice::WriteOnly);
    m_XMLtree.setContent(&xmlFile);
    xmlFile.close();
}
但我发现它打开了我的文件(通过路径),并删除了其中的所有内容


有人能解释一下原因吗

尝试使用
xmlFile.open(QIODevice::WriteOnly | QIODevice::Append)打开文件您的方法有效。谢谢你