string与wstring的互相转换接口(Windows版本)

std::wstring stringToWstring( const std::string & str )
{
LPCSTR pszSrc = str.c_str();
int nLen = MultiByteToWideChar( CP_ACP, 0, pszSrc, -1, NULL, 0 );
if ( nLen == 0 )
return(std::wstring( L"" ) ); wchar_t* pwszDst = new wchar_t[nLen];
if ( !pwszDst )
return(std::wstring( L"" ) ); MultiByteToWideChar( CP_ACP, 0, pszSrc, -1, pwszDst, nLen );
std::wstring wstr( pwszDst );
delete[] pwszDst;
pwszDst = NULL; return(wstr);
} std::string wstringToString( const std::wstring & wstr )
{
LPCWSTR pwszSrc = wstr.c_str();
int nLen = WideCharToMultiByte( CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL );
if ( nLen == 0 )
return(std::string( "" ) ); char* pszDst = new char[nLen];
if ( !pszDst )
return(std::string( "" ) ); WideCharToMultiByte( CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL );
std::string str( pszDst );
delete[] pszDst;
pszDst = NULL; return(str);
}

  

string与wstring的互相转换接口(Windows版本)的更多相关文章

  1. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

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

  2. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

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

  3. 用.netcore写一个简单redis驱动,调试windows版本的redis.平且给set和get命令添加参数.

    1. 下载windows版本的redis 2.开发环境vs2017  新建一个 .net core控制台. private static Socket socket = new Socket(Addr ...

  4. redis 概述、windows版本下载启动访问退出安装、中文乱码、RedisDesktopManager下载

    redis 概述 redis的key是string类型的:value有多种类型,但放入的不是特定类型数据,添加的都是string,只是redis把这些值组织成了各种数据结构.key和相应的值都是str ...

  5. string、wstring、cstring、 char、 tchar、int、dword转换方法(转)

    string.wstring.cstring. char. tchar.int.dword转换方法(转)   最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结 ...

  6. Solr:Slor初识(概述、Windows版本的安装、添加IK分词器)

    1.Solr概述 (1)Solr与数据库相比的优势 搜索速度更快.搜索结果能够按相关度排序.搜索内容格式不固定等 (2)Lucene与Solr的区别 Lucene提供了完整的查询引擎和索引引擎,目的是 ...

  7. 关于string转换为wstring问题

    方法一:需要调用windows的api函数进行转换,在vs2017上试验转换成功 #ifdef _MSC_VER #include <Windows.h> #endif // _MSC_V ...

  8. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  9. C#更改文件访问权限所有者(适用于各个Windows版本)

    前面也提到了,前段时间在做Online Judge系统,在正式上线前有几个比较老的版本,其中第一个版本使用ACL来控制权限以确保安全(但是这个版本完全建立在IIS上,所以这样做是没效果的),遇到了一些 ...

随机推荐

  1. CSS中:first-child伪类

    使用 :first-child 伪类来选择作为某个元素的第一个子元素.这个特定伪类很容易遭到误解,所以有必要举例来说明.考虑以下标记: 如下: html: <div> <p>T ...

  2. js实现完整轮播

    1.封装一个简单的动画函数 function animate(obj,target,callback){ clearInterval(obj.timer);//清除定时器防止定时器重复添加 obj.t ...

  3. Vue实现二级菜单的显示与隐藏

    <html> <head> <title>Vue实现二级菜单的显示与隐藏</title> <script src="vue.js&quo ...

  4. Spring基础06——依赖注入的一些细节

    1.字面值 可用字符串表示的值,可以通过<value>元素标签或value属性进行注入.基本数据类型及其封装类,String类等类型都可以采取字面值注入的方式.若字面值包含特殊字符,可以使 ...

  5. Ubuntu 下串口调试工具

    1. cutecom 安装:sudo apt-get install cutecom 打开方式: 在终端输入:cutecom,即可打开串口工具 或者在应用中,点击 cutecom 图标打开 打开后的界 ...

  6. vi编辑器的快捷键汇总

    光标控制命令 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027& ...

  7. noip考前抱佛脚 数论小总结

    exCRT 求解韩信点兵问题,常见的就是合并不同\(mod\). 先mo一发高神的板子 for(R i=2;i<=n;++i){ ll Y1,Yi,lcm=Lcm(p[i],p[1]); exg ...

  8. bzoj5017 [Snoi2017]炸弹 (线段树优化建图+)tarjan 缩点+拓扑排序

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5017 题解 这个题目方法挺多的. 线段树优化建图 线段树优化建图的做法应该挺显然的,一个炸弹能 ...

  9. 小程序内置组件swiper,circular(衔接)使用小技巧

    swiper,关于滑块的一些效果无缝,断点,视差等等...我想这里就不用做太多的赘述,这里给大家分享一下实战项目中使用circular(衔接)的一点小特性.小技巧,当然你也可以理解为遇到了一个小坑,因 ...

  10. MySQL的运行模式及一些特性,引擎、事务、并发控制、优化总结

    一 MySQL总体架构 上图是<高性能MySQL>中对MySQL总体架构的描述,客户端对服务端的连接有很多条,有一个专门的处理组件,类似tomcat使用线程池处理请求.解析器负责解析sql ...