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
'메모 > C/C++' 카테고리의 다른 글
Direct2D 동적변수(?) 텍스트로 그리기 (0) | 2012.04.19 |
---|---|
유니코드 문자열, 숫자 변환 (0) | 2012.04.17 |
converting float to string, string to float (0) | 2012.04.14 |
char -> int 변환 (0) | 2012.04.10 |
Direct2D and Direct3D Interoperability Overview (0) | 2012.04.04 |