博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x开发中wstring和string的转换
阅读量:5790 次
发布时间:2019-06-18

本文共 925 字,大约阅读时间需要 3 分钟。

cocos2d-x开发中汉字操作技术是必须要面对的,其中可能要用到wstring和string的相互转换。我在网络上搜索到的能够应用于android
和WIN32(其他的平台没有试)环境下的汉字的可选方案是使用如下两个函数:

wstring转换为string代码如下:

std::string ws2s(const std::wstring& ws){  string curLocale = setlocale(LC_ALL, NULL);  setlocale(LC_ALL, "chs");   const wchar_t* _Source = ws.c_str();  size_t _Dsize = 2 * ws.size() + 1;  char *_Dest = new char[_Dsize];  memset(_Dest,0,_Dsize);  wcstombs(_Dest,_Source,_Dsize);  std::string result = _Dest;  delete []_Dest;  setlocale(LC_ALL, curLocale.c_str());  return result;}string转换为wstring:std::wstring s2ws(const std::string& s){    setlocale(LC_ALL, "chs");     const char* _Source = s.c_str();    size_t _Dsize = s.size() + 1;    wchar_t *_Dest = new wchar_t[_Dsize];    wmemset(_Dest, 0, _Dsize);    mbstowcs(_Dest,_Source,_Dsize);    std::wstring result = _Dest;    delete []_Dest;    setlocale(LC_ALL, "C");    return result;}orstring a = "xxxx";wstring b(a.begin(), a.end());

转载地址:http://spgyx.baihongyu.com/

你可能感兴趣的文章
阿里架构师:程序员必须掌握的几项核心技术能力
查看>>
程序员常用的六大技术博客类
查看>>
Iceworks 2.8.0 发布,自定义你的 React 模板
查看>>
胖哥学SpringMVC:请求方式转换过滤器配置
查看>>
Kotlin 更加优雅的 Builder - 理解 with
查看>>
前端日拱一卒D6——字符编码与浏览器解析
查看>>
深入理解浏览器的缓存机制
查看>>
微软向Linux社区开放60000多项专利:对开源微软是认真的
查看>>
Hoshin Kanri在丰田的应用
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>
克服大数据集群的挑战
查看>>
PostgreSQL并发控制(MVCC, 事务,事务隔离级别)
查看>>
DM***的第二阶段OSPF
查看>>
20180702搭建青岛RAC记录
查看>>
Spring Security OAuth 实现OAuth 2.0 授权
查看>>
linux文件及简单命令学习
查看>>
dubbo源码分析-架构
查看>>
新 Terraform 提供商: Oracle OCI, Brightbox, RightScale
查看>>
6套毕业设计PPT模板拯救你的毕业答辩
查看>>
IT兄弟连 JavaWeb教程 JSP与Servlet的联系
查看>>