單位元組與寬位元組的互轉
阿新 • • 發佈:2019-01-06
//將單位元組char*轉化為寬位元組wchar_t*
wchar_t* AnsiToUnicode( const char* szStr )
{
intnLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0 );
if(nLen == 0)
{
returnNULL;
}
wchar_t*pResult = new wchar_t[nLen];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen );
returnpResult;
}
//將寬位元組wchar_t*轉化為單位元組char*
inline char* UnicodeToAnsi( const wchar_t*szStr )
{
intnLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );
if(nLen == 0)
{
returnNULL;
}
char*pResult = new char[nLen];
WideCharToMultiByte(CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );
returnpResult;
}