各位大家好,现在本人需要将string转为wstring,其中字符串有字母和中文(如:”/usr/工具”)

本人在网上找了一下好多人多说一些代码能够转换:

[code=c#include

#include

#include

using namespace std;

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;

}

int main()

{

string filepath = “ise方法”;

//wstring b(filepath.begin(),filepath.end());

wstring wstr = s2ws(filepath);

wcout <

}][/code]

输出的结果:ise

本人想问一下一下这是为什么呢?

还有其他的转换方法吗?

解决方案

40

gb2312字符转 wstring:

std::wstring Fun(std::string const &strGb2312)

{

std::vector buff(strGb2312.size());

std::locale loc(“zh-CN”);

wchar_t* pwszNext = nullptr;

const char* pszNext = nullptr;

mbstate_t state = {};

int res = std::use_facet<:codecvt> >

(loc).in(state,

strGb2312.data(), strGb2312.data() + strGb2312.size(), pszNext,

buff.data(), buff.data() + buff.size(), pwszNext);

if (std::codecvt_base::ok == res)

{

return std::wstring(buff.data(), pwszNext);

}

return “”;

}

以上c++11才支持。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于linux环境下std::string转std::wstring的问题!

linux wstring,关于linux环境下std::string转std::wstring的问题相关推荐

  1. arm linux 2.6下载,ARM+LINUX(montavista2.6.x)环境下SIMCOM5218使用

    ARM+LINUX(montavista2.6.x)环境下 SIMCOM5218使用 http://blog.sina.com.cn/s/blog_4c796ed20100hpxg.html 一. 系 ...

  2. Nginx在Linux(centos7)环境下的下载与安装

    Nginx在Linux(centos7)环境下的下载与安装 一.下载Nginx 1.免费的开源版本官方网址 2.选择需要下载的版本 二.安装Nginx 1.安装前准备(需要安装相关依赖库) 2.安装N ...

  3. 几种C++ std::string和std::wstring相互转换的转换方法

    第一种方法:调用WideCharToMultiByte()和MultiByteToWideChar(),代码如下(关于详细的解释,可以参考<windows核心编程>): #include ...

  4. linux(ubuntu)环境下安装及配置JDK

    安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...

  5. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  6. 桂电在linux、Mac OS环境下使用出校器(支持2.14)

    这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...

  7. Linux挖坑脚本,Windows环境下写Linux sh脚本的一次挖坑和填坑

    最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用N ...

  8. 在linux+nginx+mysql+php环境下安装 phpmyadmin

    环境 1, CentOS 7 2, nginx1.12.2 (Linux 利用yum源安装nginx) 3, php7.0 (Linux 利用yum源安装php7.0+nginx) 4, mysql5 ...

  9. linux sublime nodejs,Windows环境下sublime的Nodejs插件详细安装图解

    前面的话 搜索了好多文档后,才成功在Windows环境下安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nod ...

最新文章

  1. 浅谈python语言_浅谈Python语言基础知识点!
  2. linux 服务器 安装网卡驱动,linux下安装编译网卡驱动的方法
  3. vb.net 正则 替换 第n个_Python中正则表达式模块详解
  4. 分布式架构基础:Java RMI详解
  5. Spring IOC之依赖
  6. CDN服务技术架构图
  7. angularjs http和ajax,AngularJS $ http和$ resource
  8. 视觉编码(Visual Encoding)
  9. oracle 用户账户被锁处理
  10. 怎样发布一个工程到自己的GitHub
  11. java机考_【Java】(机考常用)类集
  12. mimo雷达虚拟阵列matlab,基于Matlab的雷达阵列天线信号的波达方向估计
  13. win11电脑上如何设置微信双开(打开两个微信)
  14. android中RecyclerView添加下划线
  15. 物联网方面的竞赛有那些?
  16. 数字图像处理实验四对比度增强
  17. PLSQL - 递归子查询RSF打破CONNECT BY LOOP限制
  18. 日本第二场酒类专场拍卖“L拍卖”将在东京举行
  19. Oracle数据库字段翻译
  20. 工控安全PLC固件逆向一

热门文章

  1. 三个3D可视化案例:不只酷炫,实用最重要
  2. 美团外卖和饿了么的头盔大战
  3. ​刘强东卸任京东集团 CEO,徐雷接任;苹果新专利可为多个设备无线充电;Rust公布2024年路线图|极客头条
  4. Java基础加强重温_05:Iterator迭代器、增强for循环、集合综合案例-斗地主、数据结构(栈、队列、数组、链表、红黑树)、List接口、Set接口
  5. 12.1 剪贴板的简单用法
  6. 想为萌宠起个最可爱的名字?AI或许能帮你
  7. IPC Hi3518EV300开发板——移植Linux 0.串口快速烧录教程
  8. TCE高分通过密码应用安全性评估(3级)
  9. 2015 找暑期实习总结
  10. matlab分块矩阵取某一块_MATLAB实现矩阵分块相乘