출처 : http://www.jeeyou.com/tt/entry/USESCONVERSION%C0%BB-%BB%E7%BF%EB%C7%CF%B7%C1%B8%E9
1. ATL Project
-> 바로 사용 가능하다
2. MFC Project
#include <comdef.h>
#include <afxpriv.h> 를 추가한다.
3. Win32 Dll Project
#include <comdef.h>
#include <CRTDBG.H>
#include <atlconv.h> 를 추가한다.
그리고 소스에서 추가한다.
USES_CONVERSION;
char sz[10] = "123가나다라마바사";
WCHAR szw[10] = L"123가나다라마바사";
USES_CONVERSION;
WCHAR* w = A2W( sz ); // char -> wchar
CHAR* c = W2A( szw ); // wchar -> char
그런데 간혹 VS2005에서
1>XXXXXXXXXX.obj : error LNK2001: "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA) 외부 기호를 확인할 수 없습니다.
1>../../../../Bin/XXX.dll : fatal error LNK1120: 1개의 확인할 수 없는 외부 참조입니다.
이런 링크에러가 나는 경우가 있다. 이런경우에 아래의 라이브러리를 추가하자. 그러면 링크에러가 사라질것이다. ㅋㅋ
#pragma comment(lib, "atls.lib")