我有一个消耗FILE *
的库,并将数据输出到另一个FILE *
。
我想处理这个库的输入和内存中该库的输出,而无需读取/写入磁盘上的文件。
我们在iOS中执行此操作 - 因此将库作为单独的应用程序运行并使用stdin
/ stdout
并非(据我所知)可行的选项。
答案 0 :(得分:4)
因为ObjC是C的超集,所以您只需#import/#include <stdio.h>
即可访问funopen()
,readfn
本身包含函数writefn
,seekfn
, closefn
和fmemopen
。并且fwopen有一个示例,显示如何在另一个SO question写入两个流。
Mac OSX和iOS不包括open_memstream
和{{1}},因为它们显然是unportable linux functions。
答案 1 :(得分:2)
看一下https://github.com/shyuep/pyhull/tree/master/src/fmemopen,我已经在Mac OSX 10.8.2上自己测试了它,它运行正常。
作者声明它也适用于iOS。