엄밀히 말하면 제목이 잘못됐다. UTF-8도 유니코드의 한 종류니까.
어쨌든 UTF8로 인코딩된 스트링을 C++에서 사용하는 UCS-16 유니코드(WCHAR Type)으로 전환하려면
다음과 같이 하면 된다.

INT nSize = 0;
LPWATR lpUnicode = NULL;

nSize = MultiByteToWideChar(CP_UTF8, 0, szUTF8, -1, 0, 0); 
                    // 필요한 버퍼 사이즈 구하기(NULL 포함)
lpUnicode = new WCHAR[nSize];
MultiByteToWideChar(CP_UTF8, 0, vals[i], -1, lpUnicode, nSize); // 실제로 변환하기
네번째 인자는 변환할 UTF-8 스트링의 바이트수로서 -1을 지정할 경우 "UTF-8 스트링이 Null 문자를 만날 때까지"라는 의미가 된다. (NULL문자 포함)
Posted by kuaaan
,


사랑합니다. 편안히 잠드소서