全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++宽字符与普通字符的转换实例详解

C++宽字符与普通字符的转换实例详解

把字符串转换成宽字符串,

实例代码:

wstring string2Wstring(string sToMatch) 
{   
#ifdef _A_WIN 
  int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 ); // 计算转换后宽字符串的长度。(不包含字符串结束符) 
  wchar_t *lpwsz = new wchar_t [iWLen + 1]; 
  MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), lpwsz, iWLen ); // 正式转换。 
  lpwsz[iWLen] = L'/0';  
  wstring wsToMatch(lpwsz); 
  delete []lpwsz; 
#elif _A_LINUX 
  setlocale( LC_CTYPE, "" ); // 很重要,没有这一句,转换会失败。 
  int iWLen = mbstowcs( NULL, sToMatch.c_str(), sToMatch.length() ); // 计算转换后宽字符串的长度。(不包含字符串结束符) 
  wchar_t *lpwsz = new wchar_t[iWLen + 1]; 
  int i = mbstowcs( lpwsz, sToMatch.c_str(), sToMatch.length() ); // 转换。(转换后的字符串有结束符) 
  wstring wsToMatch(lpwsz); 
  delete []lpwsz; 
#endif 
  return wsToMatch; 
} 
//把宽字符串转换成字符串,输出使用 
string wstring2string(wstring sToMatch) 
{   
#ifdef _A_WIN 
  string sResult; 
  int iLen = WideCharToMultiByte( CP_ACP, NULL, sToMatch.c_str(), -1, NULL, 0, NULL, FALSE ); // 计算转换后字符串的长度。(包含字符串结束符) 
  char *lpsz = new char[iLen]; 
  WideCharToMultiByte( CP_OEMCP, NULL, sToMatch.c_str(), -1, lpsz, iLen, NULL, FALSE); // 正式转换。 
  sResult.assign( lpsz, iLen - 1 ); // 对string对象进行赋值。 
  delete []lpsz; 
#elif _A_LINUX 
  int iLen = wcstombs( NULL, sToMatch.c_str(), 0 ); // 计算转换后字符串的长度。(不包含字符串结束符) 
  char *lpsz = new char[iLen + 1]; 
  int i = wcstombs( lpsz, sToMatch.c_str(), iLen ); // 转换。(没有结束符) 
  lpsz[iLen] = '/0'; 
  string sResult(lpsz); 
  delete []lpsz; 
#endif 
  return sResult; 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++宽字符与普通字符的转换  # C++宽字符与普通字符  # C++ 字符串去重排序实例代码  # 浅谈c++ 字符类型总结区别wchar_t  # char  # WCHAR  # C++中输出十六进制形式的字符串  # c++中数字与字符串之间的转换方法(推荐)  # C++统计中英文大小写字母、数字、空格及其他字符个数的方法  # C++实现从输入中读取字符串  # C++计算每个字符出现的次数  # 不包含  # 转换成  # 这一  # 希望能  # 很重要  # 谢谢大家  # iWLen  # int  # MultiByteToWideChar  # wchar_t  # lpwsz  # size  # CP_ACP  # c_str  # brush  # cpp  # class  # strong  # pre  # wstring 


相关文章: 如何在云指建站中生成FTP站点?  深圳网站制作的公司有哪些,dido官方网站?  C++如何编写函数模板?(泛型编程入门)  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  seo网站制作优化,网站SEO优化步骤有哪些?  如何基于云服务器快速搭建网站及云盘系统?  如何快速查询网址的建站时间与历史轨迹?  如何通过主机屋免费建站教程十分钟搭建网站?  如何在云服务器上快速搭建个人网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  网站制作价目表怎么做,珍爱网婚介费用多少?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站主机是否等同于虚拟主机?  建站之星免费版是否永久可用?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  b2c电商网站制作流程,b2c水平综合的电商平台?  建站之星×万网:智能建站系统+自助建站平台一键生成  如何快速查询网站的真实建站时间?  建站主机默认首页配置指南:核心功能与访问路径优化  如何做网站制作流程,*游戏网站怎么搭建?  建站与域名管理如何高效结合?  用v-html解决Vue.js渲染中html标签不被解析的问题  家具网站制作软件,家具厂怎么跑业务?  建站之星安装后如何配置SEO及设计样式?  实例解析Array和String方法  如何在Windows服务器上快速搭建网站?  如何彻底删除建站之星生成的Banner?  建站主机空间推荐 高性价比配置与快速部署方案解析  如何在香港服务器上快速搭建免备案网站?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站主机与服务器功能差异如何区分?  如何挑选优质建站一级代理提升网站排名?  如何挑选高效建站主机与优质域名?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  建站之星代理费用多少?最新价格详情介绍  青岛网站建设如何选择本地服务器?  如何快速启动建站代理加盟业务?  建站OpenVZ教程与优化策略:配置指南与性能提升  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  PHP正则匹配日期和时间(时间戳转换)的实例代码  制作表格网站有哪些,线上表格怎么弄?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  宝塔建站无法访问?如何排查配置与端口问题?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何高效生成建站之星成品网站源码?  如何在IIS中配置站点IP、端口及主机头?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  C++时间戳转换成日期时间的步骤和示例代码 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。