纯 c/posix 风格的 iPhone 文件 IO

标签 iphone objective-c c cocoa file-io

有没有办法只使用纯 c 代码和一些 posix 之类的 api 将文件写入 iphone 文件系统?

我只发现了一些 Objective-C/Cocoa 的东西,我认为我不能只是将一些 Objective-C 代码片段混合到 .c 文件中。

最佳答案

Objective C 是纯 ANSI C 的纯超集。您可以将任何纯 C 代码放入任何 Objective C .m 文件中。 (相反的方法不起作用,因为编译器不知道使用语言超集编译 .c 文件。)

补充:反过来做的方法不是尝试直接将 Objective C 放入 C 文件中,而是将 Objective C 放入一个新的 Objective C .m 文件中,并使用 C 包装函数来调用它Objective C 方法也在该 .m 文件中。然后使用 C 文件中的 C 函数调用从该 C 文件调用 Objective C 文件的 C 包装函数,并让 Objective C 文件中的 C 包装函数调用 Objective C 方法。

大多数 C posix 调用在 iPhone 上正常工作,尽管有些如果它们试图到达安全沙箱之外是非法的(例如,您可能必须使用一些 Objective C 来确定 posix fopen() 调用的合法文件路径可以用。)

我采用了大型 C 应用程序并将它们包装在刚好足够的 Objective C 中,以便将它们与 Cocoa Touch UI 框架连接起来。值得几页。

关于纯 c/posix 风格的 iPhone 文件 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994324/

相关文章:

iphone - 图像选择器 Controller

ios - 更新 : Image is captured but will not display

c - 无法读取 C 中的某些注册表项

iphone - 如何在运行时为 Cocos2D CCMenu menuWithItems 正确动态创建 va_list?

c - C 编程中使用 for 循环写入文件

iphone - UITableView beginUpdates/endUpdates 回调

iphone - ABPersonSetImageData 不显示图像

iphone - 另一个 UISplitViewController + UITabBarController 问题

ios - 单击 TableViewCell 后使用参数运行方法

objective-c - 在 Objective-C 中预处理循环