posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

string wstring相互转换

Posted on 2009-04-07 23:33 魔のkyo 阅读(659) 评论(0)  编辑 收藏 引用
//宽字符转多字节
string WideToMutilByte(const wstring& _src)
{
    
int nBufSize = WideCharToMultiByte(GetACP(), 0, _src.c_str(),-1, NULL, 00, FALSE);
    
char *szBuf = new char[nBufSize];
    WideCharToMultiByte(GetACP(), 
0, _src.c_str(),-1, szBuf, nBufSize, 0, FALSE);
    
string strRet(szBuf);
    delete []szBuf;
    szBuf 
= NULL;
    
return strRet;
}

//多字节转宽字符
wstring MutilByteToWide(const 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);
    wstring wstrRet(wsBuf);
    delete []wsBuf;
    wsBuf 
= NULL;    
    
return wstrRet;
}

只有注册用户登录后才能发表评论。