Microsoft 전용
Microsoft 런타임 라이브러리는 다양한 해외 시장을 겨냥하여 코드 개발을 간소화하기 위해 다양한 데이터 형식, 루틴 및 기타 개체에 대해 Microsoft 전용 "일반 텍스트" 매핑을 제공합니다. 이러한 매핑은 .에 정의되어 있습니다 TCHAR.H. 이러한 이름 매핑을 사용하면 #define 문을 사용하여 정의하는 매니페스트 상수에 따라, 세 가지 종류의 문자 집합, 즉 ASCII(SBCS), MBCS 또는 유니코드용으로 컴파일할 수 있는 일반 코드를 쓸 수 있습니다. 일반 텍스트 매핑은 ANSI 호환되지 않는 Microsoft 확장입니다.
제네릭 텍스트 매핑에 대한 전처리기 지시문
#define |
컴파일 버전 | 예시 |
|---|---|---|
_UNICODE |
유니코드(와이드 문자) |
_tcsrev는 _wcsrev에 매핑됩니다. |
_MBCS |
멀티바이트 문자 |
_tcsrev는 _mbsrev에 매핑됩니다. |
없음(기본값: 둘 다 _UNICODE 및 _MBCS 정의되지 않음) |
SBCS(ASCII) |
_tcsrev는 strrev에 매핑됩니다. |
예를 들어 정의된 제네릭 텍스트 함수_tcsrevTCHAR.H는 프로그램에서 정의된 경우 _MBCS 또는 _wcsrev 정의된 경우 _UNICODE 로 매핑 _mbsrev 됩니다. 그렇지 않으면 _tcsrev는 strrev로 매핑됩니다.
또한 정의된 TCHAR.H제네릭 텍스트 데이터 형식_TCHAR은 정의된 경우 _MBCS 형식 char 에 매핑되고, 정의된 경우 _UNICODE 입력 wchar_t 하고, 두 상수가 정의되지 않으면 입력 char 합니다. 프로그래밍 편의를 위해 다른 데이터 형식 매핑이 제공되지 TCHAR.H 만 _TCHAR 가장 유용한 형식입니다.
일반 텍스트 데이터 형식 매핑
| 일반 텍스트 데이터 형식 이름 | SBCS(_UNICODE_MBCS정의되지 않음) |
_MBCS 정의 |
_UNICODE 정의 |
|---|---|---|---|
_TCHAR |
char |
char |
wchar_t |
_TINT |
int |
int |
wint_t |
_TSCHAR |
signed char |
signed char |
wchar_t |
_TUCHAR |
unsigned char |
unsigned char |
wchar_t |
_TXCHAR |
char |
unsigned char |
wchar_t |
_T 또는 _TEXT |
효과 없음(전처리기에 의해 제거됨) | 효과 없음(전처리기에 의해 제거됨) |
L(다음 문자 또는 문자열을 유니코드 문자 또는 문자열로 변환) |
루틴, 변수 및 기타 개체의 제네릭 텍스트 매핑의 전체 목록은 제네릭 텍스트 매핑을 참조 하세요.
다음 코드 조각은 MBCS, 유니코드 및 SBCS 모델에 매핑하는 데 _TCHAR 및 _tcsrev를 사용하는 방법을 보여 줍니다.
_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);
_MBCS가 정의되면 전처리기는 위 조각을 다음 코드에 매핑합니다.
char *RetVal, *szString;
RetVal = _mbsrev(szString);
_UNICODE가 정의되면 전처리기는 같은 조각을 다음 코드에 매핑합니다.
wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);
둘 다 _MBCS 정의 _UNICODE 되지 않은 경우 전처리기는 다음과 같이 조각을 싱글바이트 ASCII 코드에 매핑합니다.
char *RetVal, *szString;
RetVal = strrev(szString);
이러한 매크로를 사용하면 세 가지 종류의 문자 집합에 관련된 루틴을 사용하여 단일 소스 코드 파일을 작성, 유지 관리 및 컴파일할 수 있습니다.
Microsoft 전용 종료