在Windows头文件tchar.h中定义的两个符号TCHAR
和_TCHAR
之间有什么不同?用例子来解释。简要描述一下您将在代码中使用TCHAR而不是_TCHAR的场景。 (10分)区分TCHAR和_TCHAR
7
A
回答
7
找到你的答案在这里:
MSDN Forums >> Visual Studio Developer Center >> TCHAR vs _TCHAR
TCHAR和_TCHAR是相同的,但由于TCHAR没有 前导下划线,微软不允许保留它作为一个 关键字(想象一下,如果你有一个名为TCHAR的变量,请考虑 会发生什么)。因此,当语言扩展为 禁用(/ Za)时,TCHAR不会#defined。
TCHAR在winnt.h中定义(当你包括#include 时),以及/ Ze下的tchar.h。 _TCHAR仅在tchar.h中可用(其中#defines _TSCHAR和_TUCHAR)。这些是正常TCHAR数据类型的无符号/有符号变体。
9
除了什么@RussC所述,TCHAR
使用由Win32 API和基于所述UNICODE
限定,而_TCHAR
使用由C运行时和是基于_UNICODE
定义来代替。 UNICODE
和_UNICODE
通常一起定义/省略,使得TCHAR
和_TCHAR
可互换,但这不是必需的。它们在语义上分离以供不同框架使用。
相关问题
- 1. C - 拆分TCHAR
- 2. _TCHAR * argv [] to wstring
- 3. 区分大小写的比较2 TCHAR的
- 4. 用send(sock,wszBuffer,...)发送TCHAR缓冲区?
- 5. 与JNA一起使用TCHAR缓冲区
- 6. concat一个wchar_t和TCHAR
- 7. 通过==比较CString和TCHAR?
- 8. 比较TCHAR []和的char []
- 9. 将_TCHAR *转换为char *
- 10. 分区和子分区
- 11. 分裂TCHAR成二维矢量
- 12. C++ TCHAR []串
- 13. TCHAR *为char *
- 14. 由TCHAR键名
- 15. System :: String^to TCHAR *
- 16. TCHAR [],LPWSTR,LPTSTR和GetWindow文本功能
- 17. 分区和UPDATE
- 18. 配置单元分区和分区
- 19. Hive分区和现有表的分区
- 20. LPCSTR,TCHAR,字符串
- 21. 删除TCHAR指针
- 22. 复制TCHAR问题
- 23. TCHAR行尾字符
- 24. C++组合2 Tchar
- 25. 使TCHAR *兼容char *
- 26. 分区给定的总的分区和分区数的列表
- 27. 如何将* char转换为_TCHAR?
- 28. 无法从'const wchar_t *'转换为'_TCHAR *'
- 29. 如何从std :: wstring _TCHAR []转换?
- 30. INT _tmain(INT的argc,_TCHAR * argv的[])
为什么你的问题听起来像一个家庭作业?你能不能花时间改写你的考试,让它听起来更个人化? – 2010-06-01 10:26:19
我真的花了额外的时间,并走出自己的方式,让它听起来像作业。疲倦地看到Windows标题中的所有这些小特性,没有韵或理由。 – 2010-06-01 10:27:10
'tchar.h'不是Windows SDK的一部分,但它是Microsoft CRT的一部分。 – 2010-06-01 10:30:48