ext*_*ext 9 c posix visual-c++
我在我的库中使用open_memstream,但我想将此库移植到MSVC.似乎没有可用的等效功能,但有足够类似的功能吗?
什么open_memstream确实是需要一个char**目的地和大小,并返回你多写,数据被存储在一个动态分配的缓冲区(从焦炭**参数访问)的文件*.关闭FILE时,char**包含写入流的数据.这使得构建大型复杂字符串流变得简单.
虽然可以从memstream读取和搜索,但我只能写入它.
有没有办法在MSVC中打开类似的内存FILE流?此外,这是纯C,没有C++.
https://github.com/Snaipe/fmem是 open_memstream 的不同平台/版本特定等效项的包装器
它按顺序尝试以下实现:
当没有其他方法可用时,fmem 会回退到 tmpfile()
Windows 上的类似函数是 CreateStreamOnHGlobal()。然而,它适用于 IStream COM 接口,它不是 FILE 的直接替代品。您可能想看一下 Cygwin 源代码,看看他们做了什么。