c++ string 转化为wstring

转载 2013年12月04日 10:00:04

来自:http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html

string 转 wstring

std::wstring s2ws(const std::string &s)
{
	std::string curLocale = setlocale(LC_ALL,"");
	const char * _Source = s.c_str();
	size_t _Dsize = mbstowcs(NULL,_Source,0) + 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,curLocale.c_str());
	return result;
}

wstring 转 string

std::string ws2s(const std::wstring &ws)
{
	string curLocale = setlocale(LC_ALL,NULL);
	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);
	string str;
	str = _Dest;
	delete []_Dest;
	setlocale(LC_ALL,curLocale.c_str());
	return str;
}



相关文章推荐

c++中char*\wchar_t*\string\wstring之间的相互转换

string U2A(const wstring& str)//Unicode字符转Ascii字符{ string strDes; if ( str.empty() ) goto __end;...
  • mfcing
  • mfcing
  • 2012-05-02 23:16
  • 14511

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

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

C++标准里 string和wstring

在C++标准里定义了两个字符串string和wstring  typedef basic_string string;  typedef basic_string wstring;  ...

浅析C++中String到WString的转换

今天心情不好,但是生活还要继续。 那就谈一谈wstring、string以及二者的转换吧!W顾名思义就是Width的缩写,即所谓的“宽”。首先看一下wstring和string分别如何定义的:typ...

字符集编码(GBK,BIG5,UNICODE等)与C++的string/wstring

GBK,BIG5等字符集编码范围的具体说明  一 预备知识 1,字符:字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧...

C++ string 、char 、char *、wstring、wchar_t * 、wchar_t 之间的转换

原博文链接:http://www.aobosir.com/blog/2016/12/16/cpp-convert-string-wstring-char-wchar_t-pointer/char 与 ...

c++中的char*与wchar_t*与string以及wstring之间的相互转换

本文转自此网址:http://www.jb51.net/article/37627.htm   #ifndef USE_H_ #define USE_H_ #include...

c++ 类型转换string、wstring、cstring、 char、 tchar、int、dword(三)

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

C++ wstring string char* wchar_t相互转换

1. char*->string (1)直接转换 const char* nodename; string temp = nodename;string temp2(nodename); ...

string CString wstring 之间的转化

当使用unicode字符集进行编译的时候,string、wstring、CString三者是有显著区别的。以下讨论均指在unicode字符集下。 特点: string和wstring是C+...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)