cocos2dx20升级到cocos2dx 317后wcharFromString没了如何把stdstring转换成unsigned short
在Cocos2d-x 3.17中,wcharFromString函数已经被移除。如果你想将std::string转换为unsigned short*,你可以使用以下方法:
std::string str = "Hello World";
const char* charStr = str.c_str();
unsigned short* utf16Str = new unsigned short[str.length() + 1];
memset(utf16Str, 0, (str.length() + 1) * sizeof(unsigned short));
int utf16Length = cc_utf8_to_utf16(charStr, str.length(), utf16Str, str.length() + 1);
// 使用utf16Str进行操作
delete[] utf16Str;
在上面的代码中,我们首先将std::string转换为const char*,然后创建一个unsigned short*缓冲区utf16Str来存储转换后的字符串。然后,我们使用cc_utf8_to_utf16函数将UTF-8字符串转换为UTF-16字符串,并将结果存储在utf16Str中。最后,我们可以使用utf16Str进行操作,完成后记得删除utf16Str的内存。
请注意,unsigned short*在不同平台上的长度可能不同,因此在使用utf16Str之前,请确保该平台支持该类型。此外,使用utf16Str进行操作时,请使用相关的Cocos2d-x函数来确保正确处理UTF-16编码的字符串
原文地址: https://www.cveoy.top/t/topic/hYBC 著作权归作者所有。请勿转载和采集!