fopen issue in iOS

烈酒焚心 提交于 2019-12-18 04:15:23

问题


For some reason fopen gives the error No such file or directory even though I have converted the path to the documents path.

NSString *docsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *filePath = [docsPath stringByAppendingPathComponent:filename];

I pass the NSString using the UTF8String method and only open in read mode with

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

The following full path is printed out when trying to open the filename(I removed the exact values for the applications actual dir name)

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

Why would fopen not detect the file? I have added it to the target and even tried changing the location settings in the file inspector to Relative to Group and Relative to Project


回答1:


You have to convert the NSString to a char* using the following method, or it will not properly map to the file system.

    char const *path_cstr = [[NSFileManager defaultManager] fileSystemRepresentationWithPath:pathString];

Now you can use it directly in fopen().



来源:https://stackoverflow.com/questions/10664955/fopen-issue-in-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!