共用方式為


使用泛型文字對應

Microsoft 特定的

為針對不同的國際市場簡化程式碼開發,Microsoft 執行階段程式庫針對許多資料類型、常式與其他物件提供 Microsoft 的特定「泛型文字」對應。 這些對應定義在 TCHAR.H 中。 您可以使用這些名稱對應來撰寫泛型程式碼,以針對下列三種字元集的任何一種編譯:ASCII (SBCS)、MBCS 或 Unicode,取決於您使用 #define 陳述式所定義的資訊清單常數。 泛型文字對應是與 ANSI 不相容的 Microsoft 延伸模組。

泛型文字對應的預處理器指示詞

#define 編譯的版本 範例
_UNICODE Unicode (寬字元) _tcsrev 對應到 _wcsrev
_MBCS 多位元組字元 _tcsrev 對應到 _mbsrev
無 (預設值: _UNICODE_MBCS 未定義) SBCS (ASCII) _tcsrev 對應到 strrev

例如,若已在您的程式中定義 MBCS,則在 TCHAR.H 中定義的泛型文字函式 _tcsrev會對應到 mbsrev;或者若已定義 _UNICODE,則會對應到 _wcsrev。 若兩者皆否,則 _tcsrev 會對應到 strrev

泛型文字資料類型 _TCHAR (亦定義在 TCHAR.H 中) 會對應到類型 char (若已定義 _MBCS),或對應到類型 wchar_t (若已定義 _UNICODE),以及對應到類型 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 (將下列字元或字串轉換成其 Unicode 對應項目)

如需常式、變數和其他物件的泛型文字對應完整清單,請參閱 泛型文字對應

下列程式碼片段示範如何使用 _TCHAR_tcsrev 來對應到 MBCS、Unicode 與 SBCS 模型。

_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);

這些宏可讓您使用所有三種字元集特有的常式來撰寫、維護和編譯單一原始程式碼檔案。

END Microsoft 特定的

另請參閱

泛型文字對應
資料類型對應
常數和全域變數對應
常式對應
範例泛型文字程式