【发布时间】:2026-01-03 05:25:02
【问题描述】:
应用程序使用 RapidXML 来编辑 XML 文件。编辑不是自动化的,偶尔会发生:XML 内容显示在 GUI 中,用户执行一些更改 XML 的操作。每个更改都必须立即保存到磁盘。
加载 RapidXML 文档对象需要将文件内容复制到字符串中。文档中的每次更改都会将文档对象的内容复制回文件中。
在此示例中,文件用于输入和输出。 在这种情况下,是否应将单个 std::fstream 对象用于所有输入/输出操作?它将在应用程序启动时打开一次,用于输入/输出,并在应用程序结束时关闭。
或者,当需要执行文件输入/输出时,是否应该使用 std::ifstream 和 std::ofstream 的本地(临时)实例?例如。 std::ifstream 用于开始读取文件(打开、读取、关闭);同样,std::ofstream 实例在必须将 DOM 导出到文件(打开、写入、关闭)时使用。
我不关心这里的性能(由于应用程序的性质),但对在这种情况下正确选择文件流对象感到好奇。
【问题讨论】:
标签: c++ fstream ifstream ofstream rapidxml