读取文件而不将整个内容读入内存
Reading a file without reading the whole thing into memory
我正在尝试读取一个非常大的文本文件。我想写一个程序(c++)逐行读取它,直到我到达一个特定的字符集,然后开始将下面的文本写入一个字符串,直到它到达另一个字符集。
这是一个XML文件,所以我要看
<flag>info</flag>
我需要我的程序读取文件,直到它到达<flag>
,将"info"输入到字符串中,并注意到</flag>
是停止将东西放入字符串的点。我可以使用什么工具来实际读取文件。至于检测<flag>
,我可以这样做。
使用XML SAX解析器,如Xerces;它们将允许您以流式方式解析XML文件,因此您不需要一次将其加载到内存中。逐行读取一般XML文件不会得到正确的结果。
相关文章:
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- WinVerifyTrust 仅在使用文件而不是内存 blob 时才有效
- 如何在多写入器情况下对文件支持的共享内存中的大页面出错
- 在指向现有内存地址的 hpp 文件中声明成员函数的最佳方法
- 内存映射文件访问非常慢
- 我正在尝试创建一个C++映射,该映射在boost内存映射文件中具有向量值
- 这些结构在文件中的大小不同,但在程序内存中的大小相同
- 在嵌入式系统中读取文件的内存碎片
- 如何从文件中读取 100x24 矩阵并将其作为浮点矩阵保存在内存中?
- 测量任何 Windows 可执行文件的内存使用情况和执行时间
- 提升进程间共享内存删除、权限和输出文件
- 将内存文件添加到 clang 编译器实例
- 为什么我的 C++ 程序在执行 TCMALLOC 堆检查器或堆配置文件时使用大量内存
- C++ 从磁盘读取文件并将其写入共享内存
- 为什么在编译时需要知道对象的内存配置文件以进行堆栈放置?
- 增强共享内存:文件的卷已被外部更改,打开文件不再有效
- 在内存文件中使用
- 创建内存文件
- 将char指针映射到具有文件描述符的内存文件