아스키코드와 유니코드를 동시 지원할 수 있는 쉬운 개발을 위해 만들어진
Visual Studio 독자적인 헤더파일로 오직 Windows 에서만 사용할 수 있음.
컴파일러 환경에 따라 MBCS, WBCS로 맵핑 시켜줌.
즉 tchar.h 함수를 사용하면 멀티바이트코드와 유니코드를 동시에 고려해서
프로그래밍 가능.
_t 가 붙고 문자열에 _T가 존재함.
MBCS | WBCS | tchar.h |
---|---|---|
LPCSTR = const char* | LPCWSTR = const wchar_t* | LPCTSRT |
LPSTR = char* | LPWSTR = wchar_t* | LPTSRT |
string = std::basic_string | wstring = std::basic_string<wchar_t> | tstring = std::basic_string |
char | wchar_t | TCHAR |
"ABC" | L"ABC" | _T("ABC") or TEXT("ABC") |
unsigned int | wint_t | _TINT |
printf | wprintf | _tprintf |
scanf | wscanf | _tscanf |
strcmp | wcscmp | _tcscmp |
atlconv.h 사용
USES_CONVERSION 선언 후 함수 사용
T2A = W2A (LPWSTR - > LPTSTR)
T2W = A2W (LPSTR -> LPTSRT)
A2T = A2W (LPTSTR -> LPWSTR)
W2T = W2A (LPTSTR -> LPSTR)
T2CA = W2CA (LPCWSTR - > LPCTSTR)
T2CW = A2CW (LPCSTR-> LPCTSTR)
A2CT = A2CW (LPCTSTR -> LPCWSTR)
W2CT = W2CA (LPCTSTR-> LPCSTR)