相当于MSVC的open_memstream

我在我的库中使用open_memstream ,但我想将此库移植到MSVC。 似乎没有可用的等效function,但有足够类似的function吗?

open_memstream所做的是它需要一个char **目的地和大小并返回你很多写入的FILE *,数据存储在一个动态分配的缓冲区中(可以从char **参数访问)。 关闭FILE时,char **包含写入流的数据。 这使得构建大型复杂字符串流变得简单。

虽然可以从memstream读取和搜索,但我只能写入它。

有没有办法在MSVC中打开类似的内存FILE流? 此外,这是纯C,没有C ++。

Windows上的类似function是CreateStreamOnHGlobal()。 然而,这适用于IStream COM接口,它不是FILE的替代品。 您可能想看看Cygwin源代码,看看他们做了什么。