请教cocos2dx怎么读取一个TXT文件并显示出来?

likenss 2015-09-01 05:48:58
using std::string ;
string pathKey = CCFileUtils::sharedFileUtils()->fullPathForFilename("li.txt");
unsigned char* pBuffer = NULL;
unsigned long bufferSize = 0;
pBuffer = CCFileUtils::sharedFileUtils()->getFileData(pathKey.c_str(), "r", &bufferSize);



CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
CCLabelTTF* pLabel = CCLabelTTF::create(pathKey.c_str(), "Arial", 24);

// position the label on the center of the screen
pLabel->setPosition(ccp(origin.x + visibleSize.width/2,
origin.y + visibleSize.height/2));

this->addChild(pLabel, 1);
我现在的程序是这样的
...全文
340 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanjun520 2015-09-02
  • 打赏
  • 举报
回复
cocos2dx? 你到这来来问,或许你到cocos2dx的官网去看看吧
我以前使用的是cocos2dx 2.26的时候是把中文写到一个plist文件中,利用key-value的方式 来解决 中文乱码问题的,那个时候我的问题是直接
CCLabelTTF::create("中文","Arial", 24) 显示的都是乱码。
所以你先不读取文件直接中文看能不能正常,如果正常显示,那就可能是你转码的问题。 否则的话你就需要先解决显示中文的问题
likenss 2015-09-01
  • 打赏
  • 举报
回复
const char* pBuffer1 = (const char*)(char*)pBuffer; 加了一句,直接变成constchar ,不去搞string了,搞定了; 但是又有新的问题,txt中是汉字,经过提取unsigned char ,变成char,又变成const char后,值没变,显示的是乱码,为什么啊。。。
likenss 2015-09-01
  • 打赏
  • 举报
回复
现在这个程序的问题是pbuffer是unsigned char,CCLabelTTF::create是需要string 所以存在问题。 还有这种实现方式我自己也不太确定。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧