使用fopen与xcode时为NULL

时间:2014-04-24 20:05:33

标签: ios fopen

我正在尝试使用{4}来为iPhone 4英寸应用程序初始化文件中的多维数组,但我无法使用C打开该文件。 每当我尝试这个时,我都会得到fopen

NULL

我不确定如何使用FILE *f; f=fopen("/level1.rez", "r"); if (f == NULL) { printf("Error Reading File\n"); //exit (0); } 打开文件。

我已经尝试过了:

我使用C打印出当前的工作目录,但我得到的只是" /"当我将其附加到文件名时,我仍然得到getcwd

我看到,如果你转到NULL然后选项,你可以更改当前的工作目录,但我看不到该选项。

我还读到你可以使用绝对路径,如:product > scheme > edit scheme 但我是iOS开发的新手,所以我不知道这是不是一个好主意。

那么如何让/users/name/desktop/program工作?

1 个答案:

答案 0 :(得分:0)

您可以在iOS中指定绝对路径,但您的示例中的路径可能在Mac OS中使用,其布局略有不同。你可以像你说的那样指定fopen()的路径,但还有更多的工作要找出那条路径的第一部分究竟是什么。

iOS将所有AppStore应用程序放入具有随机生成的沙箱目录名称的文件夹中。它基本上是GUID的十六进制字符串。因此,您需要使用iOS框架中的方法来获取文件路径(或URL)的第一部分。

如果该文件是应用程序包的一部分,因此它可以随应用程序一起提供,那么您将需要使用NSBundle方法来查找该文件的路径。

如果在应用程序启动后在设备上生成或下载文件,则需要使用NSFileManager方法来确定文件目录的路径。 (通常是Documents目录。您可以在沙箱中构建您选择的目录结构。)