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);

AND