读取文件而不将整个内容读入内存

时间:2011-08-03 00:05:09

标签: c++ xml

我正在尝试阅读一个非常大的文本文件。我想编写一个程序(C ++)来逐行读取它,直到我达到一组特定字符,然后开始将以下文本写入字符串,直到它到达另一组字符。

这是一个XML文件,所以我在看

<flag>info</flag>

我需要我的程序读取文件,直到它达到<flag>,将“info”输入到一个字符串中并注意</flag>是停止将字符串放入字符串的点。我可以使用哪些工具来实际读取文件。至于检测<flag>,我可以做到。

1 个答案:

答案 0 :(得分:8)

使用XML SAX解析器,例如Xerces;它们将允许您以流式方式解析XML文件,因此您无需一次性将其加载到内存中。逐行阅读不会在一般XML文件上给出正确的结果。