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;
}
本文提供了一种实现宽字符(WCHAR)与多字节字符(CHAR)相互转换的方法。通过两个函数:WCharToChar 和 CharToWChar,实现了不同编码间的字符串转换。这些函数对于处理多语言环境下的文本数据特别有用。
3905

被折叠的 条评论
为什么被折叠?



