如何在iPhone上fopen()?

iPhone SDK文档声称fopen()是一种受支持的文件访问方法,但我无法让它返回FILE句柄。 我正在访问我的项目中包含的目录。 我试过fopen“filename”,“dir / filename”,“。/ filename”,“。/ dir / filename”,“/ dir / filename”都返回空指针。 有些人报告使用它没有任何问题,所以我相信它很简单!

如果您尝试访问应用程序包中的文件,则需要获取它的完整路径: [[NSBundle mainBundle] pathForResource: FILENAME ofType: FILEEXTENSION]

这将返回一个NSString,您可以将UTF8String拉出并传递给fopen。

只是要清楚打开一个文件“some.txt”…

 NSString * path = [[NSBundle mainBundle] pathForResource: @"some" ofType: @"txt"]; FILE *f = fopen([path cStringUsingEncoding:1],"r"); if (f == NULL) NSLog([path stringByAppendingString:@" not found"]);