【发布时间】:2013-12-15 11:46:23
【问题描述】:
在 Xcode 库项目中,我有一个本机 .c 文件,我需要在其中从应用程序包或文档部分打开一个文本文件。
在 Objective-C 中我可以做到:
[[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"];
但这不适用于原生 C。
我需要使用:
FILE *fp = fopen("data.txt", "rb");
但我不确定如何获取“data.txt”文件的路径。
【问题讨论】:
-
为什么? C 文件中有哪些内容是您无法修改的,无论是传递文件还是使其成为 Objective-C?
-
如果您知道文件相对于 bin 的位置,那么相对路径就可以了。如果您正在处理符号链接等,只需use
realpath -
最简单的方法是将其制作为 .m 文件并编写 Objective-C 代码。您仍然可以在那里拥有 C 代码。否则,您可以从“外部”获取路径作为参数或呼出。
-
经过一些变通方法后,将文件操作移至 .m 文件中。但是,在想,如果客户只有本机并且需要实施。
标签: objective-c c file file-io path