標準 C 函式
標準 C 執行時間連結庫同時包含 Unicode UTF-16(寬字元)版本的字串函式,這些函式可與 Unicode 和位元組導向的字元串函式搭配使用,這些函式可與 單一位元組字元集 (SBCSs) 中的字元搭配使用。 Unicode 資料類型 WCHAR 與 ANSI C 中的數據類型wchar_t相容,並允許存取 Unicode 字串函式。 函式的 Unicode 版本會以字母 「wcs」 開頭(或有時為 “_wcs”。 用於代碼頁的數據類型 CHAR 與 ANSI C 中的字元數據類型 char 相容,以允許存取字元字串函式。 函式的字元版本會以字母 「str」 開頭。 另外還有以字母 「_mbs」 開頭的雙位元組位元集 (DBCS) 的特殊 版本。
標準 C 執行時間連結庫包含所有標準 C 字串函式的泛型函式。 其開頭為 “_tcs”,並列在 Tchar.h 頭檔中。 這些函式會使用泛型 TCHAR 數據類型。
應用程式必須新增下列幾行,才能使用泛型函式並針對 Unicode 進行編譯。
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
請注意,需要 Tchar.h 和 Wchar.h 檔案,而且也需要_UNICODE變數上的前置底線。 此命名法專屬於標準 C 連結庫。 在沒有底線的情況下轉譯的 「UNICODE」 適用於Microsoft Windows 運行時間。
wcstombs 和 mbstowcs 函式可以從標準 C 連結庫支援的字元集轉換成 Unicode 和 back,但有一些限制。 如需從 Unicode 轉譯字串的詳細資訊,請參閱 字串類型之間的轉譯。
Tchar.h 中定義的 printf 函式支援與 Strsafe.h 打印函式相同的格式規格,例如 StringCbPrintf。 同樣地,Tchar.h 會定義 wprintf 函式,其中格式字串本身是 Unicode 字串。
謹慎
不良的緩衝區處理牽涉到涉及緩衝區滿溢的許多安全性問題。 請參閱 Strsafe.h 參考。 Strsafe.h 中定義的函式會為程式代碼中的適當緩衝區處理提供額外的處理。 它們的目的是要取代其內建的 C/C++對應專案,以及特定Microsoft Windows 實作。 如需詳細資訊,請參閱 安全性考慮:國際功能。
相關主題
-
在 Windows API 中 Unicode