mbstowcs()/wcstombs() 函数 宽字符转多字符互转
2016-04-10 20:25
861 查看
std::string ws2s(const std::wstring& ws) { std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C"; 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; }
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; }
相关文章推荐
- 十款最常见的Linux发行版
- 老程序猿招人是怎么读你的简历的
- oracle视图总结(创建、查询、改动、删除等)
- Learning_and_Transferring_Mid-Level_Image_Representations_using_Convolutional_Neural_Networks
- 无向图的判环
- java学习,从一个字符串中统计同一类型出现的次数
- 进程间通讯---共享内存
- hdu 4251 The Famous ICPC Team Again(划分树)
- MATLAB链接MinGW编译器
- 《深入理解计算机系统》读书笔记 第七章 链接
- shell编程
- Python的内置模块math介绍
- 记录下mybatis中#{}和${}传参的区别
- 6个有趣的HELLO WOLRD
- cocos2dx的图片载入
- Android内存优化(二)--布局优化
- maven3常用命令、java项目搭建、web项目搭建详细图解
- 基于遗传算法的BP神经网络优化算法
- 北邮校赛 sabi题 总结
- 团队介绍即项目规划