컴퓨터/프로그래밍2011. 1. 27. 18:58
UNICODE 와 ANSI 문자열 사이에서 변환이 쉽지 않다.

C/C++ 에서는 간단한 함수를 제공하고 있어서 소개한다.
// STEP 0: 로케일 설정 (시스템의 기본 언어로 설정)
setlocale( LC_ALL, "" );

// STEP 1: 문자 변환
//   	STEP 1-1 ANSI ==> UNICODE
mbtowc( UNICODE 문자, ANSI 문자 );
//   	STEP 1-2: UNICODE ==> ANSI
wctomb( ANSI 문자, UNICODE 문자 );

// STEP 2: 문자열 변환
//	STEP 2-1: ANSI ==> UNICODE
mbstowcs( UNICODE 문자열, ANSI 문자열, UNICODE 문자열 최대길이 );
// 	STEP 2-2: UNICODE ==> ANSI
wcstombs( ANSI 문자열, UNICODE 문자열, ANSI 문자열 최대길이 );

UNICODE 사용 시 유용한 매크로

  • _countof() 매크로 : 문자 배열의 크기(문자 개수)
  • sizeof 연산자 : 문자배열의 Byte 수

Posted by jungtae17