该表头
档案不是 ANSI C 标准的一部分,因此那里定义的每个函式和巨集定义的前面都
有一条底线。TCHAR.H 为需要字串参数的标准执行时期程式库函式提供了一系列
的替代名称(例如,_tprintf 和_tcslen)。有时这些名称也称为「通用」函式
名称,因为它们既可以指向函式的 Unicode 版也可以指向非 Unicode 版。
宽字元和 Windows
Windows NT 从底层支援 Unicode。这意味著 Windows NT 内部使用由双字节组成的字符串。因为世界上其他许多地方还不使用双字节字符,所以
Windows NT 必须经常将字串在作业系统内转换。Windows NT 可执行为 ASCII、
Unicode 或者 ASCII 和 Unicode 混合编写的程式。即,Windows NT 支援不同的
API 函式呼叫,这些函式接受单字节或双字节的字串
TCHAR.H用一组宏来控制使用Unicode 还是非Unicode
如果定义了 _UNICODE 识别字,那么 TCHAR 就是 wchar_t:
typedef wchar_t TCHAR ;
否则,TCHAR 就是 char:
typedef char TCHAR ;
如果定义了_UNICODE 识别字,那么一
个