char* -> WCHAR* (wchar_t*) MultiByteToWideChar 함수

|

ANSI코드로 얻어진 값을 유니코드로 변환

 


int MultiByteToWideChar(
  __in   UINT CodePage,           // 변환할 코드 페이지( 기본적으로 CP_ACP 사용)
  __in   DWORD dwFlags,           // 변환 타입을 나타낸다.
  __in   LPCSTR lpMultiByteStr,   // 변환할 문자열
  __in   int cbMultiByte,         // 변화할 문자열의 사이즈
  __out  LPWSTR lpWideCharStr,    // 변환값 저장 버퍼
  __in   int cchWideChar          // 변환될 값의 사이즈
);




반환값

성공 : 문자열의 길이를 반환한다.

실패 : 0

 

에러 메시지( GetLastError() )

ERROR_INSUFFICIENT_BUFFER : 제공된 버퍼 사이즈가 충분하지 않을경우와 NULL을 입력했을 경우

ERROR_INVALID_FLAGS : 제공된 Flags의 값이 유효하지 않을 경우

ERROR_INVALID_PARAMETER : 몇몇의 파라메터 값이 잘못된 경우

ERROR_NO_UNICODE_TRANSLATION : 잘못된 유니코드를 찾았을 경우

 
 

사용 예

char* multiByte = "multiByte";
TCHAR UniCode[9];
memset( UniCode, 0, sizeof( Unicode ) );
 
MultiByteToWideChar( CP_ACP, MB_COMPOSITE, multiByte, -1, Unicode, 9 );
 


출처:http://blog.naver.com/sangtakeg?Redirect=Log&logNo=120100829091
And
prev | 1 | 2 | 3 | 4 | 5 | ··· | 9 | next