유니코드 < == > 멀티바이트 VC++변환법

//[유니코드 -> 멀티바이트]
wchar_t* strWC = L"abcde";
char strMB[1024];
WideCharToMultiByte( CP_ACP, 0, strWC, -1, strMB, 1024, NULL, NULL );

유니코드 문자열인 strWC의 내용이 멀티바이트 문자열로 strMB에 들어간다.

함수의 4번째 인자에는 변환할 문자열 길이가 들어가는데 -1로 하게 되면 원본(strWC)문자열에서 NULL문자가 나오는 곳까지 모두 변환하게 된다. 함수의 5번째 인자는 변환해서 들어갈 대상 문자열의 길이이다.

//[멀티바이트->유니코드]
char *strMB = "abcde";
wchar_t strWC[1024];
MultiByteToWideChar( CP_ACP, 0, strMB, -1, strWC, 1024 );

자주 쓰다 보니 여기 정리해둠

크리에이티브 커먼즈 라이선스 Linsoo 의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.

댓글 남기기

이메일은 공개되지 않습니다.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.