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);
我现在的程序是这样的
3 个解决方案
#1
现在这个程序的问题是pbuffer是unsigned char,CCLabelTTF::create是需要string
所以存在问题。
还有这种实现方式我自己也不太确定。
所以存在问题。
还有这种实现方式我自己也不太确定。
#2
const char* pBuffer1 = (const char*)(char*)pBuffer;
加了一句,直接变成constchar ,不去搞string了,搞定了;
但是又有新的问题,txt中是汉字,经过提取unsigned char ,变成char,又变成const char后,值没变,显示的是乱码,为什么啊。。。
加了一句,直接变成constchar ,不去搞string了,搞定了;
但是又有新的问题,txt中是汉字,经过提取unsigned char ,变成char,又变成const char后,值没变,显示的是乱码,为什么啊。。。
#3
cocos2dx? 你到这来来问,或许你到cocos2dx的官网去看看吧
我以前使用的是cocos2dx 2.26的时候是把中文写到一个plist文件中,利用key-value的方式 来解决 中文乱码问题的,那个时候我的问题是直接
CCLabelTTF::create("中文","Arial", 24) 显示的都是乱码。
所以你先不读取文件直接中文看能不能正常,如果正常显示,那就可能是你转码的问题。 否则的话你就需要先解决显示中文的问题
我以前使用的是cocos2dx 2.26的时候是把中文写到一个plist文件中,利用key-value的方式 来解决 中文乱码问题的,那个时候我的问题是直接
CCLabelTTF::create("中文","Arial", 24) 显示的都是乱码。
所以你先不读取文件直接中文看能不能正常,如果正常显示,那就可能是你转码的问题。 否则的话你就需要先解决显示中文的问题
#1
现在这个程序的问题是pbuffer是unsigned char,CCLabelTTF::create是需要string
所以存在问题。
还有这种实现方式我自己也不太确定。
所以存在问题。
还有这种实现方式我自己也不太确定。
#2
const char* pBuffer1 = (const char*)(char*)pBuffer;
加了一句,直接变成constchar ,不去搞string了,搞定了;
但是又有新的问题,txt中是汉字,经过提取unsigned char ,变成char,又变成const char后,值没变,显示的是乱码,为什么啊。。。
加了一句,直接变成constchar ,不去搞string了,搞定了;
但是又有新的问题,txt中是汉字,经过提取unsigned char ,变成char,又变成const char后,值没变,显示的是乱码,为什么啊。。。
#3
cocos2dx? 你到这来来问,或许你到cocos2dx的官网去看看吧
我以前使用的是cocos2dx 2.26的时候是把中文写到一个plist文件中,利用key-value的方式 来解决 中文乱码问题的,那个时候我的问题是直接
CCLabelTTF::create("中文","Arial", 24) 显示的都是乱码。
所以你先不读取文件直接中文看能不能正常,如果正常显示,那就可能是你转码的问题。 否则的话你就需要先解决显示中文的问题
我以前使用的是cocos2dx 2.26的时候是把中文写到一个plist文件中,利用key-value的方式 来解决 中文乱码问题的,那个时候我的问题是直接
CCLabelTTF::create("中文","Arial", 24) 显示的都是乱码。
所以你先不读取文件直接中文看能不能正常,如果正常显示,那就可能是你转码的问题。 否则的话你就需要先解决显示中文的问题