2009년 11월 1일 일요일

문자열 인코딩 변환

ATL의 문자열 인코딩 변환 매크로를 사용하면 문자열 인코딩을 쉽게 변환할 수 있습니다.

char* string = "hello world";
wchar_t* wstring = L"안녕하세요?";

USES_CONVERSION;
wchar_t* wstr = A2W ( string ); // 멀티바이트 -> 유니코드
char* str = W2A ( wstring ); // 유니코드 -> 멀티바이트

이 매크로를 사용하기 위해서는 관련 헤더파일이 인클루드 되어있어야 합니다.
ATL 프로젝트는 따로 할 필요는 없고
MFC 프로젝트나 Win32 프로젝트에서는 다음과 같이 헤더를 추가합니다.

MFC 프로젝트
#include <comdef.h>
#include <afxpriv.h>

Win32 프로젝트
#include <comdef.h>
#include <crtdbg.h>
#include <atlconv.h>

혹시 링크에러가 나는 경우에는 atls.lib 라이브러리를 추가해주면 됩니다.

댓글 없음:

댓글 쓰기