数据类型

【勇芳软件工作室】汉化HomePreviousNext

Unicode的大多数字符串操作都可以通过使用与处理Windows ANSI字符集相同的逻辑来写入,除了基本操作单元是16位字符而不是8位字节。头文件提供了许多类型定义,可以轻松创建可以为Unicode或ANSI字符集编译的源。

以下示例显示了Win32头文件中用于定义三组数据类型的方法:可以为ANSI或Unicode编译的一组通用类型定义以及两组特定类型定义。第一组特定类型定义用于现有的Windows(ANSI)字符集,另一个用于Unicode(或宽)字符。

/ *通用类型* /

Points to a null-terminated string that specifies the default data type for a printer.

typedef wchar_t TCHAR;

#其他

typedef unsigned char TCHAR;

#万一

typedef TCHAR * LPTSTR, *LPTCH;

/ * 8位字符特定* /

typedef unsigned char CHAR;

typedef CHAR *LPSTR, *LPCH;

/ * Unicode特定(宽字符)* /

typedef unsigned wchar_t WCHAR;

typedef WCHAR *LPWSTR, *LPWCH;

类型定义之前的字母【T】指定可以为ANSI或Unicode编译的通用类型。类型定义之前的字母【W】指定宽字符(Unicode)类型。有关此方法的实际实现,请参阅WINNT.H头文件。

使用通用数据类型的应用程序可以通过在头文件的include语句之前定义UNICODE来编译Unicode。要编译ANSI的代码,请省略UNICODE定义。

鼓励开发人员使用通用数据类型,但对于需要混合型控制的应用程序,存在特定类型。