标准 C 函数
标准 C 运行时库包含 Unicode UTF-16(宽字符)版本的字符串函数,这些函数可与 Unicode 和面向字节的字符串函数一起使用,这些函数可与 单字节字符集(SBCSs)中的字符一起使用。 Unicode 数据类型 WCHAR 与 ANSI C 中的数据类型wchar_t兼容,并允许访问 Unicode 字符串函数。 函数的 Unicode 版本以字母“wcs”(有时为“_wcs”开头)。 用于代码页的数据类型 CHAR 与 ANSI C 中的字符数据类型 char 兼容,以允许访问字符串函数。 函数的字符版本以字母“str”开头。 双字节字符集(DBCS)也有以字母“_mbs”开头的特殊版本。
标准 C 运行时库包括所有标准 C 字符串函数的泛型函数。 它们以“_tcs”开头,并列在 Tchar.h 头文件中。 这些函数使用泛型 TCHAR 数据类型。
应用程序必须添加以下行才能使用泛型函数并编译 Unicode。
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
请注意,需要 Tchar.h 和 Wchar.h 文件,并且还需要_UNICODE变量上的前导下划线。 此命名特定于标准 C 库。 在没有下划线的情况下呈现的“UNICODE”适用于 windows 运行时Microsoft。
wcstombs 和 mbstowcs 函数可以从标准 C 库支持的字符集转换为 Unicode 和 back,但存在一些限制。 有关将字符串翻译到 Unicode 和从 Unicode 转换的详细信息,请参阅 字符串类型之间的翻译。
Tchar.h 中定义的 printf 函数支持与 Strsafe.h 打印函数相同的格式规范,例如,StringCbPrintf。 同样,Tchar.h 定义 wprintf 函数,其中格式字符串本身是 Unicode 字符串。
谨慎
缓冲区处理不当与涉及缓冲区溢出的许多安全问题有关。 请参阅 Strsafe.h 参考。 Strsafe.h 中定义的函数为代码中的正确缓冲区处理提供其他处理。 它们旨在替换其内置的 C/C++ 对应项以及特定的 windows 实现Microsoft。 有关详细信息,请参阅 安全注意事项:国际功能。
相关主题
-
在 Windows API 中 Unicode