[转载] http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html  很好,很强大,用到就是赚到!

  代码如下:

 1 #include <string>
 2 std::string ws2s(const std::wstring& ws)
 3 {
 4     std::string curLocale = setlocale(LC_ALL, NULL);        // curLocale = "C";
 5     setlocale(LC_ALL, "chs");
 6     const wchar_t* _Source = ws.c_str();
 7     size_t _Dsize = 2 * ws.size() + 1;
 8     char *_Dest = new char[_Dsize];
 9     memset(_Dest,0,_Dsize);
10     wcstombs(_Dest,_Source,_Dsize);
11     std::string result = _Dest;
12     delete []_Dest;
13     setlocale(LC_ALL, curLocale.c_str());
14     return result;
15 }
16
17 std::wstring s2ws(const std::string& s)
18 {
19     setlocale(LC_ALL, "chs");
20     const char* _Source = s.c_str();
21     size_t _Dsize = s.size() + 1;
22     wchar_t *_Dest = new wchar_t[_Dsize];
23     wmemset(_Dest, 0, _Dsize);
24     mbstowcs(_Dest,_Source,_Dsize);
25     std::wstring result = _Dest;
26     delete []_Dest;
27     setlocale(LC_ALL, "C");
28     return result;
29 }

  

转载于:https://www.cnblogs.com/MakeView660/p/6046622.html

C++ string和wstring互转实现相关推荐

  1. string与wstring互转

    string与wstring互转 C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...

  2. C++string与wstring类型转换

    在c++开发时有的库函数必须传递wstring宽字符串作为参数,在代码中通过L"wstring"定义宽字符串传递参数这没什么难度,问题是实际过程中需要接收输入string数据,这时 ...

  3. C++11:string和wstring之间互转换

    今天打算做string到wstring转换时发现以前早已经写过,已经忘记从哪里找来的了,贴出代码,以防再忘记.C++11后UTF8编码转换还真是方便 #include <string> # ...

  4. wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换

    wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString.... #include <strin ...

  5. PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下 #ifndef USE_H_ #define USE_H_ #i ...

  6. wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString 以及system(command)...

    转载:http://blog.csdn.net/chocolateconanlan/article/details/4058868 wchar_t*,wchar_t,wchat_t数组,char,ch ...

  7. string、wstring、cstring、 char、 tchar、int转换方法

    1.string转wstring ? 1 2 3 4 5 6 7 wstring s2ws(const string& s) {  _bstr_t t = s.c_str();  wchar_ ...

  8. c++ string 与 char 互转 以及base64

    c++ string 与 char 互转 很简单如下 char bts[5] = {'A','B','C','D','E'};printf("%s\n",bts);//char t ...

  9. Java获得时间 String与Timestamp互转

    一.String与Date(java.util.Date)互转      1.1 String -> Date Java代码   String dateStr = "2010/05/0 ...

  10. jq js json 转字符串_JS中JSON对象和String之间的互转及处理技巧

    json:JavaScript 对象表示法(javascript Object Notation),其实JSON就是一个javaScript的对象(Object)而已. 如有不清楚JSON,可以去w3 ...

最新文章

  1. 操作系统原理第十一章:大容量存储
  2. JAVA数据结构-稀疏数组
  3. arch Linux 添加引导,ArchLinux 添加开机启动脚本, 亲测
  4. 前端学习(2253)如何进行团队合作
  5. git分支建立删除,打tag
  6. --save-dev和--save的区别
  7. html 图片的缩略图,纯CSS制作缩略图片
  8. springboot基于web的游泳馆信息管理系统毕业设计源码281444
  9. Java敏感词过滤 工具类
  10. 计算机网络实验四协议分析心得,计算机网络原理实验_使用网络协议分析仪Wireshark...
  11. google 安装去广告插件
  12. java应届生面试收集总结
  13. matlab 坐标点标记符号表
  14. 使用jekyll写博客
  15. 用C语言编写5个学生,每个学生有3门课程成绩,从键盘输入学生数据(学号,姓名,3门成绩)计算平均成绩,将成绩放入磁盘文件stud中
  16. R语言:从 csv 文件中读取数据,然后将数据写入 csv 文件
  17. Mybatis学习 association关联 和 collection集合
  18. 哈尔滨工程大学考研经验分享(中):初试
  19. 使用python抓取5级行政区划
  20. 虚拟机异常关机,报错找不到vmdx文件,文件名增加flat的解决方法

热门文章

  1. escapexml java_fn:escapeXml()函数
  2. NameError: name “ ” is not defined
  3. java-程序流程控制
  4. 关于MySQL latch争用深入分析与判断
  5. WannaCry深度详细分析报告 转
  6. Matlab The Bisection Method
  7. 简单实现下载功能--jsp,servlet
  8. Swift基础语法: 21 - Swift的可变形形参, 常量形参, 变量形参, In-Out形参
  9. Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
  10. 【Oracle学习】archivelog