重载std :: streambuf以转义数据

时间:2015-03-06 16:08:57

标签: c++ stream overloading streambuf

我有一个外部库,它可以通过传递std::ostream*指针来编写一堆数据。它以二进制格式写入

我希望将这些数据写入包含其他内容的文本文件中,方法是将其转换为十六进制或base64。

由于lib写的数据可能非常大,我想避免将数据写入内存缓冲区,然后转换为文本格式。我想动态转换。

因此,我正在搜索如何为此目的重载std :: streambuf。我需要重载overflow虚函数,我找到了必要的信息。

问题是,我应该写文件ostream,还是直接写入streambuf,我可以使用rdbuf()?是否允许直接写入stream stringbuf

提前致谢!

0 个答案:

没有答案