无法通过fstream cocos2d-x打开文件

时间:2015-03-31 13:01:53

标签: cocos2d-x fstream ifstream ofstream

尽管文件在项目中,但我无法使用fstream打开文件。这是代码:

std::fstream fst("Resources/test.txt");
std::string fileStr;
std::getline(fst, fileStr);
log("line\n %s", fileStr.c_str());

文件test.txt位于我项目的Resources文件夹中,已选中。我很感激你们的任何帮助。谢谢!

2 个答案:

答案 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)