首页 > 代码库 > Cocos2d-x读取本地文件
Cocos2d-x读取本地文件
在公司在项目开发的时候需要读取本地的文件,于是在网上搜索了一下以下关于Cocos2d-x文件读取的操作,用了两种方法都可以实现,一种是使用C++另种是Cocos2d-x代码如下:
//读取文件(参数分别为文件名和文本框)
void GameRegistry::readFile(const char *pFileName,UILabel *pLabel){
/*方法一
ifstream inFile;inFile.open(pFileName);//打开文件
string pSaveStr;//用于保存读取一行的文件内容
for (string str;getline(inFile,str);)//一行行的读取
{
GBKToUTF8(str,"gbk","utf-8"); //中文转码,这个也是借鉴网上的
pSaveStr += str + "\n";}
//设置文本框内容
pLabel->setText(pSaveStr);pLabel->setFontName("微软雅黑");
//关闭文件
inFile.close();
*/
//方法二
//获取文件在系统的绝对路径string filePath = CCFileUtils::sharedFileUtils()->fullPathForFilename(pFileName);
//读取的内容
unsigned char *data = http://www.mamicode.com/NULL;
//读取的字节数,读取失败则为0
unsigned long len = 0;
data = http://www.mamicode.com/CCFileUtils::sharedFileUtils()->getFileData(filePath.c_str(),"r",&len);
//unsigned char* 转 sting
std::string my_std_string(reinterpret_cast<const char *>(data),len);
//中文转码
GBKToUTF8(my_std_string,"gbk","utf-8");
pLabel->setText(my_std_string);
pLabel->setFontName("微软雅黑");
//释放内存
if (len>0&&data)
{
delete[] data;
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。