我目前正在研究将二进制数据写入std::vector<char>
的可移植,惯用,标准库的C ++方法。我想使用write()函数以与任何其他二进制ostream相同的方式与容器接口。
到目前为止,我发现的唯一一件事就是继承std::basic_streambuf<>
。还有更好的替代方案吗?
答案 0 :(得分:2)
你是对的,继承std::basic_streambuf
就是这样做的。不确定你是否感兴趣,但是boost :: iostreams和boost :: interprocess已经实现了这种类型的东西:
http://www.boost.org/doc/libs/1_64_0/libs/iostreams/doc/index.html http://www.boost.org/doc/libs/1_64_0/doc/html/interprocess/streams.html