1. 程式人生 > >char與 wchar 之間的轉換

char與 wchar 之間的轉換

char wchar

//將單字節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;

}

char與 wchar 之間的轉換