最简单的问题,大家来看看 谁能告诉我_T()是什么作用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为了维护既能按ASCII编译又能按Unicode编译的单一原始码档案,一个办法是使用Microsoft Visual C++包含的TCHAR.H表头档案。该表头档案不是ANSI C标准的一部分,因此那里定义的每个函式和巨集定义的前面都有一条底线。TCHAR.H为需要字串参数的标准执行时期程式库函式提供了一系列的替代名称(例如,_tprintf和_tcslen)。.H还用一个新的资料型态TCHAR来解决两种字元资料型态的问题。如果定义了 _UNICODE识别字,那么TCHAR就是wchar_t:typedef wchar_t TCHAR ;//(16位的UNICODE 字符)否则,TCHAR就是char:typedef char TCHAR ;//8位的ANSI字符如果定义了_UNICODE识别字,那么一个称作__T的巨集就定义如下:#define __T(x) L##x//如wchar_t * p = L"Hello!" 注意紧接在第一个引号前面的大写字母L(代表「long」)。这将告诉编译器该字串按宽字元保存-即每个字元占用2个位元组。如果没有定义_UNICODE识别字,则__T巨集只简单地定义如下:#define __T(x) x此外,还有两个巨集与__T定义相同:#define _T(x) __T(x)#define _TEXT(x) __T(x)WINNT.H表头档案进而定义了可用做8位元字串指标的六种资料型态和四个可用做const 8位元字串指标的资料型态。这里精选了表头档案中一些实用的说明资料型态语句:typedef CHAR * PCHAR, * LPCH, * PCH, * NPSTR, * LPSTR, * PSTR ;typedef CONST CHAR * LPCCH, * PCCH, * LPCSTR, * PCSTR ;字首N和L表示「near」和「long」,指的是16位元Windows中两种大小不同的指标。在Win32中near和long指标没有区别。类似地,WINNT.H定义了六种可作为16位元字串指标的资料型态和四种可作为const 16位元字串指标的资料型态:typedef WCHAR * PWCHAR, * LPWCH, * PWCH, * NWPSTR, * LPWSTR, * PWSTR ;typedef CONST WCHAR * LPCWCH, * PCWCH, * LPCWSTR, * PCWSTR ; #ifdef _UNICODE #define _T(s) L##s // L"string" 代表 unicode 字符串,## 是连接符#else #define _T(s) s#endif 如何得到屏幕上所画内容的二进制数据? TabCtrl怎么不显示上面的tab标签(即上面的换页按钮) 我打开一个程序的dsw文件怎么在工作区什么也没有啊?? 用GDI+拖动超大图象时很缓慢,求解决方法。 哪有比较全的论文样板下载,包括原代码?给100分 代码评测,有时候在Open时报异常,这是为什么? 普通消息处理函数中是否应该调用父类的消息处理函数??? 对《windows程序设计》的看法 请问怎样让一个程序的窗口运行时,在任务条上不显示它的存在呢? vc里面如何实现tanα函数的功能(正切函数) SDI应用程序,如何禁用主菜单上的某个菜单项?? 重酬网络教室的设计方案
typedef wchar_t TCHAR ;//(16位的UNICODE 字符)
否则,TCHAR就是char:
typedef char TCHAR ;//8位的ANSI字符
如果定义了_UNICODE识别字,那么一个称作__T的巨集就定义如下:#define __T(x) L##x
//如wchar_t * p = L"Hello!"
注意紧接在第一个引号前面的大写字母L(代表「long」)。这将告诉编译器该字串按宽字元保存-即每个字元占用2个位元组。
如果没有定义_UNICODE识别字,则__T巨集只简单地定义如下:#define __T(x) x
此外,还有两个巨集与__T定义相同:
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
WINNT.H表头档案进而定义了可用做8位元字串指标的六种资料型态和四个可用做const 8位元字串指标的资料型态。这里精选了表头档案中一些实用的说明资料型态语句:typedef CHAR * PCHAR, * LPCH, * PCH, * NPSTR, * LPSTR, * PSTR ;
typedef CONST CHAR * LPCCH, * PCCH, * LPCSTR, * PCSTR ;
字首N和L表示「near」和「long」,指的是16位元Windows中两种大小不同的指标。在Win32中near和long指标没有区别。类似地,WINNT.H定义了六种可作为16位元字串指标的资料型态和四种可作为const 16位元字串指标的资料型态:typedef WCHAR * PWCHAR, * LPWCH, * PWCH, * NWPSTR, * LPWSTR, * PWSTR ;
typedef CONST WCHAR * LPCWCH, * PCWCH, * LPCWSTR, * PCWSTR ;
#define _T(s) L##s // L"string" 代表 unicode 字符串,## 是连接符
#else
#define _T(s) s
#endif