宽字符串和标准字符串的转换

上传人:xiao****1972 文档编号:84936785 上传时间:2019-03-06 格式:DOC 页数:2 大小:51.50KB
返回 下载 相关 举报
宽字符串和标准字符串的转换_第1页
第1页 / 共2页
宽字符串和标准字符串的转换_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《宽字符串和标准字符串的转换》由会员分享,可在线阅读,更多相关《宽字符串和标准字符串的转换(2页珍藏版)》请在金锄头文库上搜索。

1、宽字符串和标准字符串的转换宽字符串和标准字符串的转换string WstringToString(wstring str)const wchar_t *pwc=str.c_str();int nLen=WideCharToMultiByte(CP_ACP,0,(LPCWSTR)pwc,-1,NULL,0,NULL,NULL);if(nLen=0) return string();char *presult=new charnLen;if (NULL=presult) return string();WideCharToMultiByte(CP_ACP,0,(LPCWSTR)pwc,-1,pre

2、sult,nLen,NULL,NULL);presultnLen-1=0;string result(presult);delete presult;return result;wstring StringToWstring(string str)const char *pstr=str.c_str();int nLen=str.size();int nSize=MultiByteToWideChar(CP_ACP,0,(LPCSTR)pstr,nLen,0,0);if (nSize=0) return NULL;WCHAR *pDst=new WCHARnSize+1;if (pDst=NU

3、LL)return NULL;MultiByteToWideChar(CP_ACP,0,(LPCSTR)pstr,nLen,pDst,nSize);pDstnSize=0;if (pDst0=0xFEFF)for (int i=0;inSize;i+)pDsti=pDsti+1;wstring wcstr(pDst);delete pDst;return wcstr;/下面是一位朋友写的,被我剽窃了class auto_setlocatepublic:auto_setlocate()setlocale(LC_ALL, );std:string wstring2string(const wcha

4、r_t* wsz)static auto_setlocate as;std:string ret(wcslen(wsz)*2, 0);std:wcstombs(const_cast(ret.c_str(), wsz, ret.length();return ret;std:string wstring2string(const std:wstring& wstr)static auto_setlocate as;std:string ret(wstr.length()*2, 0);std:wcstombs(const_cast(ret.c_str(), wstr.c_str(), wstr.l

5、ength();return ret;std:wstring string2wstring(const char* sz)static auto_setlocate as;std:wstring ret(strlen(sz), 0);std:mbstowcs(const_cast(ret.c_str(), sz, ret.length();return ret;std:wstring string2wstring(const std:string& str) static auto_setlocate as;std:wstring ret(str.length(), 0);std:mbstowcs(const_cast(ret.c_str(), str.c_str(), str.length();return ret;2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号