1. 程式人生 > >單位元組與寬位元組的互轉

單位元組與寬位元組的互轉

//將單位元組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;

}