만일 tchar.h전에 _UNICODE 가 define 되면 다음과 같이 정의됩니다.
#define __T(x) L##x
즉 __T("Melong") 은 L"Melong" 으로 치환되게 됩니다.
정의되어 있지 않으면 다음과 같이~
#define __T(x) x
네, __T("x") 는 그냥 "x" 입니다.
그리고 다음과 같이 또 define 되어 있죠
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
_T 대신 _TEXT라고 써도 됩니다.
L"Melong"이 황당하시죠? 이것은 C++문법으로 확장문자열을 뜻합니다. 다음과
같이 확장문자열 포인터를 지정할 수 있죠
wchar_t *p = L"Melong!";
쉽게 여러 언어를 지원하는 프로그램을 만들기 위해 쓰는 것이다라고 생각하세요.
#define __T(x) L##x
즉 __T("Melong") 은 L"Melong" 으로 치환되게 됩니다.
정의되어 있지 않으면 다음과 같이~
#define __T(x) x
네, __T("x") 는 그냥 "x" 입니다.
그리고 다음과 같이 또 define 되어 있죠
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
_T 대신 _TEXT라고 써도 됩니다.
L"Melong"이 황당하시죠? 이것은 C++문법으로 확장문자열을 뜻합니다. 다음과
같이 확장문자열 포인터를 지정할 수 있죠
wchar_t *p = L"Melong!";
쉽게 여러 언어를 지원하는 프로그램을 만들기 위해 쓰는 것이다라고 생각하세요.
[출처] MFC 에서 _T("스트링")|작성자 objectstream