未格式化的内存和/或来自内存的i / o

时间:2013-08-10 17:01:45

标签: c++

我正在寻找一种使用C ++标准库将无格式数据写入内存的方法。我想要一个继承istream / ostream的类,并且像ifstream / ofstream一样工作,但是由内存而不是磁盘上的文件支持。

这样我可以使用istreams和ostreams并使用operator<<和运算符>>读取/写入二进制数据,我不需要知道数据是流入内存还是流入磁盘。

我认为也许istringstream / ostringstream可以配置为通过运算符<<来写未编码的输出和运算符>>,但我看不到一种简单的方法。

所以我无法在C ++标准库或boost中找到这样的东西,但它似乎应该是那种东西。任何建议都会非常感激!

1 个答案:

答案 0 :(得分:2)

您无法使用<<>>运算符来编写/读取未格式化的数据(它们仅处理文本输入和输出),但您可以使用write方法输出流和输入流的read方法。

由于std::string实际上并不真正关心它所拥有的数据,您应该能够使用stringstream(及其输出/输入变体)。