加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – iOS中的fopen问题

发布时间:2020-12-16 03:38:05 所属栏目:百科 来源:网络整理
导读:由于某种原因fopen给出错误没有这样的文件或目录,即使我已经将路径转换为文档路径. NSString *docsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];NSString *filePath = [docsPath stringByAppendingP
由于某种原因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()中使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读