본문 바로가기

Programming/MFC

MultiByteToWideChar

int MultiByteToWideChar (UINT CodePage, 

DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, 

LPWSTR lpWideCharStr, int cchWideChar)

1. CodePage - 변환할 코드 페이지

          (보통 CP_ACP를 사용합니다. ANSI 코드 페이지를 사용하겠다는 거죠)


2. dwFlags - 어떤 캐릭터 형태로 변환할 것인지를 지정합니다.

          (보통 MB_PRECOMPOSED 를 사용합니다. 완성형으로 변환을 하겠다는 거죠.)


3. lpMultiByteStr - 유니코드로 변환할 문자열의 포인터입니다.

 

4. cbMultiByte - 위의 문자열의 길이입니다.


5. lpWideCharStr - 변환된 문자열을 받아들일 유니코드형 문자열 버퍼의 포인터 입니다.


6. cchWideChar - 위의 문자열의 길이입니다.


 


그럼 간단한 예를 적어 드리면...

char       szMuitiByte[255];
memset(szMultiByte, 0, 255);
strcpy(szMultibyte, "Test");

wchar_t  wszBuffer[255];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szMulitByte, strlen(szMultiByte), wszBuffer, 255);

더 자세한 사항은 MSDN을 참고하세요.

 

 

 

추가> wchar_t로 된 스트링을 출력할때 MessageBoxW ( ) 함수 사용

ex>

 

MessageBoxW ( NULL, wszBuffer, L"TEST", MB_OK);