关于string与wstring之间的转换

原创 2016年08月30日 16:36:39

网上这种转换非常多,但基本遇见中文时没有不乱码的,今天做一个简单的总结

wstring转string


void funWstrToStr(wstring strw,string& str,UINT CODEPAGE)

{

int num = strw.length();
int len = WideCharToMultiByte(CODEPAGE, 0, (LPCWSTR)strw.c_str(), num, NULL, 0, NULL, NULL);
char* szStr = new char[len+1];
WideCharToMultiByte(CODEPAGE, 0, (LPCWSTR)strw.c_str(), num, szStr, len, NULL, NULL);
szStr[len] = '\0';

str = szStr;

}



string 转wstring


void funStrToWstr(string str,wstring& strw,UINT CODEPAGE)

{

char* pData= str.c_str();

DWORD dwNum = MultiByteToWideChar(CodePage, 0, pData, -1, NULL, 0);
if (dwNum == 0)
{
return;
}


WCHAR* pwText = new WCHAR[dwNum];
memset(pwText, '\0', dwNum);
MultiByteToWideChar(CodePage, 0, pData, -1, pwText, dwNum);
s
trw = pwText;

}


声明:这里的方法只适用于windows;linux下另有一套转换函数,有兴趣的可以查查

Unicode下wstring(wchar_t*)和string(char*)互相转换

#include using namespace std; //将string转换成wstring wstring string2wstring(st...
  • educast
  • educast
  • 2013年09月18日 08:28
  • 1519

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

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

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
  • 15095

wstring string CString之间的转换

wstring string CString之间的转换 //将wstring转换为string的函数 string ws2s(wstring& ws) { string curLoca...
  • meiyuli
  • meiyuli
  • 2012年02月29日 20:46
  • 1081

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

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

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 与 ...

string CString wstring 之间的转化

当使用unicode字符集进行编译的时候,string、wstring、CString三者是有显著区别的。以下讨论均指在unicode字符集下。 特点: string和wstring是C+...

String与WString的字符转换代码

  • 2017年11月04日 09:19
  • 1KB
  • 下载

知识记录:string、wstring、cstring、 char、 tchar、int、dword转换方法

最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多:...
  • camel20
  • camel20
  • 2012年09月14日 10:53
  • 1603
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于string与wstring之间的转换
举报原因:
原因补充:

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