【问题标题】:unformatted i/o to and from memory进出内存的未格式化 i/o
【发布时间】:2013-08-10 17:01:44
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c++


    【解决方案1】:

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

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

    【讨论】:

    • 它看起来不像 stringstream 会工作,因为它总是想将数字格式化为字符串,例如173 显示为“173”而不是 0xAD。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2016-05-27
    • 2017-06-08
    • 2018-11-29
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多