소연의_개발일지
article thumbnail

 

 

 

코드보다 아직도 헷갈려서 정리하는 것

 

_T("")

  • 유니코드(UTF-16)와 ANSI(멀티바이트) 간의 호환성을 유지하기 위해 사용.
  • _T는 tchar.h 헤더 파일에 정의된 매크로
#define _T(x) _TEXT(x)

 

☞ 프로젝트 설정에 따라 유니코드멀티바이트 문자로 컴파일된다.

  • 유니코드 설정일 때: _T("text")는 L"text"로 처리
  • 멀티바이트 설정일 때: _T("text")는 "text"로 처리

사용 예시

TCHAR str[] = _T("Hello");

 

 

L""

  • 항상 유니코드(UTF-16) 문자열을 나타낸다.
  • L 접두사는 문자열을 유니코드 리터럴로 지정한다.
  • 멀티바이트 환경에서도 유니코드 문자열로 처리된다.

사용 예시

wchar_t str[] = L"Hello";

 

 


결론

 

  • 프로젝트가 유니코드와 멀티바이트 설정을 모두 지원해야 할 때, 파일 경로나 문자열 리소스에서 사용하는 경우 -> _T("") 사용
  • 프로젝트가 유니코드 환경에서만 동작하거나, 유니코드 문자열을 명시적으로 다루고자 할 때 -> L"" 사용
profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!