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

iphone – 使用C在iOS应用程序中找不到的文件夹中的文件

发布时间:2020-12-14 19:46:13 所属栏目:百科 来源:网络整理
导读:我试图在一个主要用C编写的iOS应用程序中使用std :: ifstream读取存储在assets文件夹及其子文件夹中的文件(相同的代码也用于其他非iOS项目),但是找不到它们.示例:有一个文件assets / shaders / ortho2d.vert,我正在尝试加载它: std::ifstream vertFStream(
我试图在一个主要用C编写的iOS应用程序中使用std :: ifstream读取存储在assets文件夹及其子文件夹中的文件(相同的代码也用于其他非iOS项目),但是找不到它们.示例:有一个文件assets / shaders / ortho2d.vert,我正在尝试加载它:

std::ifstream vertFStream( vertFile ); // vertFile's contents is "assets/shaders/ortho2d.vert"
if (!vertFStream) {
    std::cerr << vertFile << " missing!" << std::endl;
    exit( 1 );
}

我已将assets文件夹作为蓝色文件夹添加到XCode项目中,它显示在Targets-> Copy Bundle Resources中.

解决方法

试试这个:

NSBundle *b = [NSBundle mainBundle];
NSString *dir = [b resourcePath];
NSArray *parts = [NSArray arrayWithObjects:
                  dir,@"assets",@"shaders",@"ortho2d.vert",(void *)nil];
NSString *path = [NSString pathWithComponents:parts];
const char *cpath = [path fileSystemRepresentation];
std::string vertFile(cpath);
std::ifstream vertFStream(vertFile);

(编辑:李大同)

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

    推荐文章
      热点阅读