您的位置:首页 > 其它

宽窄字符相互转换

2009-04-26 10:34 323 查看
std::string WCharToChar(UINT PageCode, std::wstring strWChar)
{
std::string strChar="";
strChar.clear();
int ret = 0;
int nSize = (int)strWChar.length()*2;
static char pszDest[1024*10];
if( pszDest )
{
memset( pszDest, 0, nSize+1 );
ret = WideCharToMultiByte(PageCode,NULL,strWChar.c_str(),-1,pszDest,nSize,NULL,FALSE);
pszDest[nSize] = '/0';
strChar = pszDest;
}
return strChar;

}

std::wstring CharToWChar(UINT PageCode, std::string strChar)
{
std::wstring strWChar=_T("");
strWChar.clear();
int ret = 0;
//wchar_t *pszDest = new wchar_t[strChar.length()+1];
static wchar_t pszDest[1024*10];
if( pszDest )
{
memset( pszDest, 0, (strChar.length()+1)*sizeof(wchar_t) );
ret = MultiByteToWideChar(PageCode, 0, strChar.c_str(), -1, pszDest, (int)strChar.length());
pszDest[strChar.length()] = L'/0';
strWChar = pszDest;
}
return strWChar;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: