首页 > 代码库 > VC++/MFC知识积累(一)

VC++/MFC知识积累(一)

1、_T宏

Windows 98及以前的版本使用8位的ANSI字符集,它类似于ASCII字符集。Windows NT使用16位的Unicode字符集,它是ANSI字符集的一个超集。Unicode包含了各种各样来自非US字母表的字符。

使用ANSI字符编译的程序可以在Windows NT上运行,但Unicode程序运行起来要稍微快点,因为Windows NT不需要再每个字符上执行ANSI到Unicode的转换。Unicode应用程序不能在Windows 98上运行。

_T("Hello"):如果定义了预处理_UNICODE,编译器将使用Unicode字符。如果没有定义则使用ANSI字符。

使用_T宏修饰字符串常量同时还需要做以下工作:

(1)将字符声明为TCHAR而不是char。

(2)使用TCHAR *来声明TCHAR字符串指针或者更佳的LPTSTR(指向TCHAR字符串的指针)和LPCTSTR(指向const TCHAR字符串的指针)。

VC++/MFC知识积累(一)