objective-c – iOS中的fopen问题

前端之家收集整理的这篇文章主要介绍了objective-c – iOS中的fopen问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于某种原因fopen给出错误没有这样的文件或目录,即使我已经将路径转换为文档路径.
NSString *docsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];
NSString *filePath = [docsPath stringByAppendingPathComponent:filename];

我使用UTF8String方法传递NSString,只在读取模式下打开

if ((fh=fopen(filename,"r+b")) == NULL){
    perror("fopen");
    return -1;
}

尝试打开文件名时打印出以下完整路径(我删除了应用程序实际目录名称的确切值)

/var/mobile/Applications/#####/Documents/testImages.pak

为什么fopen没有检测到文件?我已将其添加到目标,甚至尝试将文件检查器中的位置设置更改为相对于组和相对于项目

解决方法

您必须使用以下方法将NSString转换为char *,否则它将无法正确映射到文件系统.
char const *path_cstr = [[NSFileManager defaultManager] fileSystemRepresentationWithPath:pathString];

现在你可以直接在fopen()中使用它.

猜你在找的C&C++相关文章