如何在iPhone上fopen()?

Nic*_*unt 16 c filesystems iphone file-io

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

Nic*_*unt 23

只是要清楚打开一个文件"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"]);
Run Code Online (Sandbox Code Playgroud)

  • 而不是`[path cStringUsingEncoding:1]`你也可以使用`path.UTF8String` (2认同)

Ben*_*ieb 22

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

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