尽管文件在项目中,但我无法使用fstream打开文件。这是代码:
std::fstream fst("Resources/test.txt");
std::string fileStr;
std::getline(fst, fileStr);
log("line\n %s", fileStr.c_str());
文件test.txt位于我项目的Resources文件夹中,已选中。我很感激你们的任何帮助。谢谢!
答案 0 :(得分:1)
我认为fstream无法在cocos2d-x中使用。没有fopen。
您可以使用cocos2d :: FileUtils API。
cocos2d::FileUtils * file_utils = cocos2d::FileUtils::sharedFileUtils();
std::string full_path = file_utils->fullPathForFilename("test.txt");
long int data_size;
unsigned char * file_data = file_utils->getFileData(full_path.c_str(), "r", &data_size);
cocos2d::log("file_data is %s", file_data);
*注意:不是" Resources / test.txt"但是" test.txt"
答案 1 :(得分:0)
我认为@yuni_net_liberty错了。
fstream和fopen能够在cocos2d-x中使用。我可以理解为什么有些c ++代码无法在c ++项目中运行。
fstream无法工作的原因是因为有两种资源。捆绑和捆绑。 bundle中的资源无法读取使用ftream和fopen。他们只能读取本机代码(objctiveC,java)