我可以在iOS上的C / Objective-C中创建内存映射的FILE *吗?

时间:2012-04-20 19:31:14

标签: objective-c ios c

我有一个消耗FILE *的库,并将数据输出到另一个FILE *

我想处理这个库的输入和内存中该库的输出,而无需读取/写入磁盘上的文件。

我们在iOS中执行此操作 - 因此将库作为单独的应用程序运行并使用stdin / stdout并非(据我所知)可行的选项。

2 个答案:

答案 0 :(得分:4)

因为ObjC是C的超集,所以您只需#import/#include <stdio.h>即可访问funopen()readfn本身包含函数writefnseekfnclosefnfmemopen。并且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。