1

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

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

我想也许 istringstream/ostringstream 可以配置为通过 operator<< 和 operator>> 写入未格式化的输出,但我看不到一个简单的方法来做到这一点。

所以我无法在 C++ 标准库或 boost 中找到类似的东西,但它似乎是应该存在的东西。任何建议将不胜感激!

4

1 回答 1

2

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

而且std::string实际上并不真正关心您应该能够使用的数据stringstream(及其输出/输入变体)。

于 2013-08-10T17:05:47.007 回答