Beispiel #1
0
//Ascii字符转换为Unicode字符
std::wstring MutilByteToWide(std::string& _src)
{
    int nBufSize = MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,NULL,0);
    wchar_t *wsBuf = new wchar_t[nBufSize];
    MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,wsBuf,nBufSize);
    std::wstring wstrRet(wsBuf);
    delete []wsBuf;
    wsBuf = NULL;    
    return wstrRet;
}
Beispiel #2
0
	wstring b2w(const string& _src)
	{
		//计算字符串 string 转成 wchar_t 之后占用的内存字节数
        int nBufSize = ::MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,NULL,0); 

		//为 wsbuf 分配内存 BufSize 个字节
		wchar_t *wsBuf = new wchar_t[nBufSize + 1];

		//转化为 unicode 的 WideString
        ::MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,wsBuf,nBufSize); 

		wstring wstrRet(wsBuf);

		delete []wsBuf;
		wsBuf = NULL;

		return wstrRet;
	}