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

Reading a file without reading the whole thing into memory

本文关键字:内存 文件 读取      更新时间:2023-10-16

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

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

<flag>info</flag>

我需要我的程序读取文件,直到它到达<flag>,将"info"输入到字符串中,并注意到</flag>是停止将东西放入字符串的点。我可以使用什么工具来实际读取文件。至于检测<flag>,我可以这样做。

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