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
相关文章:
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何快速生成可下载的建站源码工具?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
制作网站的软件免费下载,免费制作app哪个平台好?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何快速搭建响应式可视化网站?
如何设计高效校园网站?
c++ stringstream用法详解_c++字符串与数字转换利器
建站之星在线版空间:自助建站+智能模板一键生成方案
如何解决VPS建站LNMP环境配置常见问题?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何在IIS7中新建站点?详细步骤解析
建站之星微信建站一键生成小程序+多端营销系统
如何使用Golang安装API文档生成工具_快速生成接口文档
专业公司网站制作公司,用什么语言做企业网站比较好?
建站OpenVZ教程与优化策略:配置指南与性能提升
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何快速生成专业多端适配建站电话?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何快速建站并高效导出源代码?
在线制作视频的网站有哪些,电脑如何制作视频短片?
宝塔新建站点为何无法访问?如何排查?
如何做静态网页,sublimetext3.0制作静态网页?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
中山网站制作网页,中山新生登记系统登记流程?
建站之星多图banner生成与模板自定义指南
全景视频制作网站有哪些,全景图怎么做成网页?
建站之星如何快速生成多端适配网站?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何通过PHP快速构建高效问答网站功能?
建站之星ASP如何实现CMS高效搭建与安全管理?
公司网站制作价格怎么算,公司办个官网需要多少钱?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
建站主机如何安装配置?新手必看操作指南
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
建站主机选购指南:核心配置优化与品牌推荐方案
如何快速搭建高效香港服务器网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。