일반 텍스트 매핑 사용

Microsoft 전용

Microsoft 런타임 라이브러리는 다양한 해외 시장을 겨냥하여 코드 개발을 간소화하기 위해 다양한 데이터 형식, 루틴 및 기타 개체에 대해 Microsoft 전용 "일반 텍스트" 매핑을 제공합니다. 이러한 매핑은 TCHAR.H에 정의됩니다. 이러한 이름 매핑을 사용하면 #define 문을 사용하여 정의하는 매니페스트 상수에 따라, 세 가지 종류의 문자 집합, 즉 ASCII(SBCS), MBCS 또는 유니코드용으로 컴파일할 수 있는 일반 코드를 쓸 수 있습니다. 일반 텍스트 매핑은 ANSI 호환되지 않는 Microsoft 확장입니다.

제네릭 텍스트 매핑에 대한 전처리기 지시문

#define 컴파일 버전 예시
_UNICODE 유니코드(와이드 문자) _tcsrev_wcsrev에 매핑됩니다.
_MBCS 멀티바이트 문자 _tcsrev_mbsrev에 매핑됩니다.
없음(기본값: 둘 다 _UNICODE_MBCS 정의되지 않음) SBCS(ASCII) _tcsrevstrrev에 매핑됩니다.

예를 들어 TCHAR.H에 정의된 일반 텍스트 함수인 _tcsrev는 프로그램에 MBCS가 정의된 경우에는 mbsrev로 매핑되고, _UNICODE가 정의된 경우에는 _wcsrev로 매핑됩니다. 그렇지 않으면 _tcsrevstrrev로 매핑됩니다.

역시 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 전용 종료

참고 항목

일반 텍스트 매핑
데이터 형식 매핑
상수 및 전역 변수 매핑
루틴 매핑
샘플 제네릭 텍스트 프로그램