코드보다 아직도 헷갈려서 정리하는 것
_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"" 사용
'개발공부 > C++' 카테고리의 다른 글
[C++ MFC] 화면 캡쳐하는 함수 (0) | 2025.03.11 |
---|---|
test dword ptr [eax],eax ; probe page. 오류 해결 (0) | 2025.03.10 |
[C++] 폴더 없을 때 폴더 생성 (0) | 2024.12.17 |
[C++ ] Systemtime : 시스템 시간 날짜 얻어오기 (0) | 2024.12.17 |
[C++ MFC] 출력 창에서 디버깅 내용 보기 (0) | 2024.12.04 |