wchar_t* 和char* 互转
Posted g_che
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wchar_t* 和char* 互转相关的知识,希望对你有一定的参考价值。
- //将单字节char*转化为宽字节wchar_t*
wchar_t* AnsiToUnicode(const char* szStr)
{
int nLen = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0);
if (nLen == 0)
{
return NULL;
}
wchar_t* pResult = new wchar_t[nLen];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen);
return pResult;
}
//将宽字节wchar_t*转化为单字节char*
inline char* UnicodeToAnsi(const wchar_t* szStr)
{
int nLen = WideCharToMultiByte(CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL);
if (nLen == 0)
{
return NULL;
}
char* pResult = new char[nLen];
WideCharToMultiByte(CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL);
return pResult;
}
以上是关于wchar_t* 和char* 互转的主要内容,如果未能解决你的问题,请参考以下文章