共用方式為


標準 C 函式

標準 C 執行時間程式庫同時包含 Unicode UTF-16 (寬字元) 版本的字串函式,這些函式可與 Unicode 和位元組導向的字串函式版本搭配使用,這些函式可與 單一位元組字元集 的字元搭配使用, (SBCSs) 。 Unicode 資料類型 WCHAR 與 ANSI C 中的資料類型wchar_t相容,並允許存取 Unicode 字串函式。 函式的 Unicode 版本開頭為字母 「wcs」 (,或有時為 「_wcs」) 。 用於字碼頁的資料類型 CHAR 與 ANSI C 中的字元資料類型 char 相容,以允許存取字元字串函式。 函式的字元版本以字母 「str」 開頭。 另外還有 雙位元組字元集 的特殊版本, (DBCSs) 開頭為字母 「_mbs」。

標準 C 執行時間程式庫包含所有標準 C 字串函式的泛型函式。 它們以 「_tcs」 開頭,並列在 Tchar.h 標頭檔中。 這些函式會使用泛型 TCHAR 資料類型。

應用程式必須新增下列幾行,才能使用泛型函式並針對 Unicode 進行編譯。

#define _UNICODE

#include <tchar.h>
#include <wchar.h>

請注意,需要 Tchar.h 和 Wchar.h 檔案,而且也需要_UNICODE變數上的前置底線。 此命名法專屬於標準 C 程式庫。 未使用底線轉譯的 「UNICODE」 適用于 Microsoft Windows 執行時間。

wcstombsmbstowcs函式可以從標準 C 程式庫支援的字元集轉換為 Unicode 和 back,但有一些限制。 如需將字串轉譯為 Unicode 或從 Unicode 轉譯的詳細資訊,請參閱 在字串類型之間翻譯

Tchar.h 中定義的 printf 函 式支援與 Strsafe.h print 函式相同的格式規格,例如 StringCbPrintf。 同樣地,Tchar.h 會定義 wprintf 函 式,其中格式字串本身是 Unicode 字串。

警告

在涉及緩衝區溢位的許多安全性問題中,緩衝區處理不佳。 請參閱 Strsafe.h 參考。 Strsafe.h 中定義的函式會提供額外的處理,以在程式碼中正確處理緩衝區。 它們旨在取代其內建 C/C++ 對應專案,以及特定的 Microsoft Windows 實作。 如需詳細資訊,請參閱 安全性考慮:國際功能

 

Windows API 中的 Unicode