通过boost附加到现有文件

时间:2014-04-28 17:25:15

标签: c++ boost append iostream boost-filesystem

我需要将许多日志文件聚合到一个日志中。

我尝试使用boost :: filesystem :: copy_file执行此操作,但它不支持附加。

有什么想法吗? (我更喜欢通过升级库来实现这一点)

TNX

1 个答案:

答案 0 :(得分:1)

这个简单的任务你不需要Boost - 标准iostream可以完成这项工作:

#include <fstream>
//...
using std::ifstream;
using std::ofstream;
ifstream input1("input1.log"), input2("file2.log");
// append to an existing file
ofstream output("output.log", ofstream::out | ofstream::app);
output << input1.rdbuf() << input2.rdbuf();
//...

(但请注意,上述方法可能性能欠佳;请查看this answer以了解如何改善效果。)