【发布时间】:2011-06-08 16:49:14
【问题描述】:
我有一个迭代算法,用 C++ 编写。我正在使用yaml-cpp。在每次迭代中,我发送一些数据到 YAML::Emitter 对象。当算法终止时,我使用 YAML::Emitter::c_str() 将底层缓冲区写入 ofstream。
但是,我更愿意每隔几百次迭代将缓冲区写入文件,并在每次增量时从 YAML::Emitter 对象中清除写入的数据。这有两个原因:
1) 如果程序意外终止,我希望能够访问(尽可能多地)磁盘上的输出。
2) YAML::Emitter 对象自扩展,我不想浪费内存。
最好的方法是什么?
【问题讨论】:
标签: c++ file-io yaml ostream yaml-cpp