![](/img/trans.png)
[英]Caching hundreds of files on iOS app for 24-48 hours: all in Document folder or better in multiple folders?
[英]Files in folders not found in iOS app using C++
我正在嘗試使用std :: ifstream在主要使用C ++編寫的iOS應用程序中讀取存儲在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);
您可能需要檢查應用程序運行位置的相對路徑,並可能使用完整路徑來確保找到該文件。
打開失敗的事實並不一定意味着找不到文件,此時它可能無法讀取。 (權限不正確或文件已鎖定)。
退出(1)是相當激烈的。
抱歉,但有些標點符號:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.