일반 텍스트 매핑 사용Using Generic-Text Mappings

Microsoft 전용Microsoft Specific

Microsoft 런타임 라이브러리는 다양한 해외 시장을 겨냥하여 코드 개발을 간소화하기 위해 다양한 데이터 형식, 루틴 및 기타 개체에 대해 Microsoft 전용 "일반 텍스트" 매핑을 제공합니다.To simplify code development for various international markets, the Microsoft run-time library provides Microsoft-specific "generic-text" mappings for many data types, routines, and other objects. 이러한 매핑은 TCHAR.H에 정의됩니다.These mappings are defined in TCHAR.H. 이러한 이름 매핑을 사용하면 #define 문을 사용하여 정의하는 매니페스트 상수에 따라, 세 가지 종류의 문자 집합, 즉 ASCII(SBCS), MBCS 또는 유니코드용으로 컴파일할 수 있는 일반 코드를 쓸 수 있습니다.You can use these name mappings to write generic code that can be compiled for any of the three kinds of character sets: ASCII (SBCS), MBCS, or Unicode, depending on a manifest constant you define using a #define statement. 제네릭 텍스트 매핑은 ANSI와 호환되지 않는 Microsoft 확장입니다.Generic-text mappings are Microsoft extensions that are not ANSI compatible.

일반 텍스트 매핑용 전처리기 지시문Preprocessor Directives for Generic-Text Mappings

#define#define 컴파일 버전Compiled version 예제Example
_UNICODE 유니코드(와이드 문자)Unicode (wide-character) _tcsrev_wcsrev에 매핑됩니다._tcsrev maps to _wcsrev
_MBCS 멀티바이트 문자Multibyte-character _tcsrev_mbsrev에 매핑됩니다._tcsrev maps to _mbsrev
없음(기본값: _UNICODE_MBCS 둘 다 정의되지 않음)None (the default: neither _UNICODE nor _MBCS defined) SBCS(ASCII)SBCS (ASCII) _tcsrevstrrev에 매핑됩니다._tcsrev maps to strrev

예를 들어 TCHAR.H에 정의된 일반 텍스트 함수인 _tcsrev는 프로그램에 MBCS가 정의된 경우에는 mbsrev로 매핑되고, _UNICODE가 정의된 경우에는 _wcsrev로 매핑됩니다.For example, the generic-text function _tcsrev, defined in TCHAR.H, maps to mbsrev if MBCS has been defined in your program, or to _wcsrev if _UNICODE has been defined. 그렇지 않으면 _tcsrevstrrev로 매핑됩니다.Otherwise _tcsrev maps to strrev.

역시 TCHAR.H에 정의된 일반 텍스트 데이터 형식 _TCHAR_MBCS이 정의된 경우에는 char 형식에 매핑되고, _UNICODE가 정의된 경우에는 wchar_t 형식으로 매핑되고, 두 상수가 모두 정의되지 않은 경우에는 char 형식으로 매핑됩니다.The generic-text data type _TCHAR, also defined in TCHAR.H, maps to type char if _MBCS is defined, to type wchar_t if _UNICODE is defined, and to type char if neither constant is defined. 프로그래밍 편의를 위해 다른 데이터 형식 매핑이 TCHAR.H에 제공되지만 _TCHAR이 가장 유용한 형식입니다.Other data type mappings are provided in TCHAR.H for programming convenience, but _TCHAR is the type that is most useful.

일반 텍스트 데이터 형식 매핑Generic-Text Data Type Mappings

일반 텍스트 데이터 형식 이름Generic-text data type name SBCS(_UNICODE 및 MBCS가 정의되지 않음)SBCS (_UNICODE, _MBCS not defined) _MBCS 정의됨_MBCS defined _UNICODE 정의됨_UNICODE defined
_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_T or _TEXT 효과 없음(전처리기에 의해 제거됨)No effect (removed by preprocessor) 효과 없음(전처리기에 의해 제거됨)No effect (removed by preprocessor) L(다음 문자 또는 문자열을 유니코드 문자 또는 문자열로 변환)L (converts following character or string to its Unicode counterpart)

루틴, 변수 및 기타 개체의 일반 텍스트 매핑에 대한 전체 목록을 보려면 일반 텍스트 매핑을 참조하세요.For a complete list of generic-text mappings of routines, variables, and other objects, see Generic-Text Mappings.

다음 코드 조각은 MBCS, 유니코드 및 SBCS 모델에 매핑하는 데 _TCHAR_tcsrev를 사용하는 방법을 보여 줍니다.The following code fragments illustrate the use of _TCHAR and _tcsrev for mapping to the MBCS, Unicode, and SBCS models.

_TCHAR *RetVal, *szString;  
RetVal = _tcsrev(szString);  

MBCS가 정의되면 전처리기는 위 조각을 다음 코드에 매핑합니다.If MBCS has been defined, the preprocessor maps the preceding fragment to the following code:

char *RetVal, *szString;  
RetVal = _mbsrev(szString);  

_UNICODE가 정의되면 전처리기는 같은 조각을 다음 코드에 매핑합니다.If _UNICODE has been defined, the preprocessor maps the same fragment to the following code:

wchar_t *RetVal, *szString;  
RetVal = _wcsrev(szString);  

_MBCS 또는 _UNICODE가 둘 다 정의되지 않은 경우 전처리기는 다음과 같이 해당 조각을 싱글바이트 ASCII 코드에 매핑합니다.If neither _MBCS nor _UNICODE has been defined, the preprocessor maps the fragment to single-byte ASCII code, as follows:

char *RetVal, *szString;  
RetVal = strrev(szString);  

따라서 이러한 세 가지 종류의 문자 집합과 관련된 루틴에서 실행할 단일 소스 코드 파일을 작성하고, 유지하고, 컴파일할 수 있습니다.Thus you can write, maintain, and compile a single source code file to run with routines that are specific to any of the three kinds of character sets.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

일반 텍스트 매핑 Generic-Text Mappings
데이터 형식 매핑 Data Type Mappings
상수 및 전역 변수 매핑 Constant and Global Variable Mappings
루틴 매핑 Routine Mappings
샘플 일반 텍스트 프로그램A Sample Generic-Text Program