【发布时间】:2014-05-23 18:12:51
【问题描述】:
我正在使用 Visual C++ 和 MFC 程序,使用 Visual Studio 2008,我将创建或附加到 XML 文件。
如果文件不存在,就会创建它,不用担心,但是当文件已经存在并且我必须附加到它时,似乎有问题。
我被指示并通过一些研究发现,是将文件读入字符串,备份一点,然后写入字符串的末尾。我的想法是将文件读入字符串数组。
bool WriteXMLHeader(string header, ofstream xmlFile)
{
int fileSize = 1;
while(!xmlFile.eof())
{
fileSize++;
}
string entireFile[fileSize];
for(int i = 0; i < fileSize; i++)
{
xmlFile >> entireFile[i];
}
//Processing code to add more to the end
//Save the File
return true;
}
但是,这会导致整个文件大小未知的错误,并且会弹出常量错误。
我不允许使用任何第三方软件(已经研究过 TinyXML 和 RapidXML)。
在未知数量的结束标签上方附加到 XML 文件末尾的更好方法是什么?
编辑:我的老板一直在谈论发送到节点的路径,并在节点的最后一个实例之后写入。如果需要,他希望它能够处理具有一百万个缩进的 xml 文件。 (一个人不可能完成?)
【问题讨论】:
-
您可以使用
vector<string>代替数组。 -
我提到过,我的老板说不,要专注于字符串。