윈도우 프로그래밍

"", L"", TEXT(""), _T("")의 차이

xaida 2020. 6. 16. 11:03

Visual C++은 "멀티바이트"와 "유니코드"의 문자 처리가 있다.

멀티바이트 (MBCS = Multi Byte Character Set) : 영어 1바이트, 그 외의 문자 2바이트로 처리

유니코드 (WBCS = Wide Byte Character Set) : 모든 문자를 2바이트로 처리. (GCC는 4바이트로 처리)

VS에서는 외부 라이브러리와의 호환성 등과 같은 이유로 멀티바이트와 유니코드를 서로 변경해야 할 때

"" <-> L"" 는 심각한 노가다이므로 TEXT("")와 _T("")를 #define 한다.

TEXT("")는 WinNT.h에서 #define,  _T("")는 tchar.h에 #define

결론 : "", L"" => TEXT(""), _T("")로 입력하자

 

출처 : http://x108zero.blogspot.com/2013/12/text-t-l.html