【问题标题】:creating a fstream object from memory buffer从内存缓冲区创建一个 fstream 对象
【发布时间】:2013-04-12 20:02:49
【问题描述】:

假设我有一些由 malloc 分配的内存。现在我想将它用作流缓冲区作为 fstream 对象。在另一种情况下,假设我有一个 FILE*.是否可以从中创建一个 fstream 对象?


实际上我有一个现有的库,它在它的函数中接受 FILE* 参数。现在我想用 cpp 类型的文件处理来实现这个库,保持向后兼容性。我该怎么办?

【问题讨论】:

    标签: c++ c file memory buffer


    【解决方案1】:

    您不能从FILE* 中创建fstream 对象。

    您应该亲自编写一个基于 C++ 标准 I/O 流的流,该流由 FILE* 工作

    【讨论】:

    • 想到了一个继承自iostream的自定义类,但我想问有没有更简单的方法?
    • 我认为更简单的方法是搜索第三方类库或查看 boost、Qt、Poco... 以找到接受 FILE* 的流系统
    猜你喜欢
    • 2019-03-29
    • 2011-06-03
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多