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++中String到WString的转换

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

C++ 最简单的string与wstring互相转换

之前在网上找了,都是用调用WinAPI的 MultiByteToWideChar或是ATL的_BSTR过度。代码冗长,而且只适合在Windows平台。 发现其实有个最简单的办法,利用BOOST库,兼顾...
  • xuly_29
  • xuly_29
  • 2015年10月17日 08:56
  • 2284

string和wstring相互转换方法,标准C++做成,可以在Linux、Windows下运行

string和wstring相互转换方法,这个是对以前的修改,主要修改了输入为空,导致的小bug。/* string 转换为 wstring */ std::wstring c2w(const c...
  • Harry_lyc
  • Harry_lyc
  • 2011年07月22日 10:10
  • 9677

C++标准里 string和wstring

在C++标准里定义了两个字符串string和wstring  typedef basic_string string;  typedef basic_string wstring;  ...
  • huangzeyy
  • huangzeyy
  • 2014年11月06日 11:13
  • 29880

c++中wstring、string、_bstr_t互转

1、从 unicode 字符串转化为 ansi字符串 wstring ws="123"; string s = (char *) _bstr_t ( ws2.c_str() ); ...
  • fuck487
  • fuck487
  • 2015年11月03日 20:48
  • 2105

c++ int转string int转wstring

int转string #include #include using namespace std; int main() { int i=66; ostringstream oss; ...
  • u010370871
  • u010370871
  • 2015年08月25日 10:44
  • 1771

常用字符转换 string wstring utf8 unicode ascii

std::wstring StringToWstring(const std::string str) {// string转wstring unsigned len = str.size() * ...
  • lcalqf
  • lcalqf
  • 2016年11月25日 10:47
  • 835

string 与 wstring 的中文互转(zt)

 (zt)随着VS2003升级到VS2005,很多以前熟悉的输入输出方式以及参数传递方式都不再有效(参看 vs2003 到vs2005代码升级要点http://bianyongtao.spaces.l...
  • code_pipeline
  • code_pipeline
  • 2007年11月02日 17:21
  • 3774

std::string互转UTF-8,std::wstring互转UTF-8

std::string 转 UTF-8: char *  string_To_UTF8 (const std::string & str) {     int nwLen = ::MultiBy...
  • LeftStrang
  • LeftStrang
  • 2014年07月03日 15:30
  • 1531

用标准C++做的string和wstring相互转换方法,经过大规模测试

    这段代码是从网上找的。但是,在实际使用中,出现了很多莫名奇妙的问题。后来多了修改,经过大规模的测试,表现良好。首先,感谢原作者,由于找不到链接了,不好意思,没能贴出链接地址。  size_t ...
  • Harry_lyc
  • Harry_lyc
  • 2011年06月28日 17:12
  • 2393
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ string 转化为wstring
举报原因:
原因补充:

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