TCHAR与_TCHAR有哪些不同?

 我来答
gg1079063428
2013-08-05 · 超过15用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:39.6万
展开全部
char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。LPCSTR 相当于CONST CHAR * 和LPSTR 相当于CHAR *。
更多追问追答
追问
你是说,TCHAR与_TCHAR没有任何不同?
追答
如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把字符串以UNICODE方式保存。
wdwy003
推荐于2016-12-02 · TA获得超过2113个赞
知道小有建树答主
回答量:1073
采纳率:0%
帮助的人:1045万
展开全部
#ifdef    _UNICODE
/*
 * Include <wchar.h> for wchar_t and WEOF if _UNICODE.
 */
#include <wchar.h>
/*
 * Use TCHAR instead of char or wchar_t. It will be appropriately translated
 * if _UNICODE is correctly defined (or not).
 */
#ifndef _TCHAR_DEFINED
#ifndef RC_INVOKED
typedef    wchar_t    TCHAR;
typedef    wchar_t    _TCHAR;
#endif    /* Not RC_INVOKED */
#define _TCHAR_DEFINED
#endif
#else    /* Not _UNICODE */

/*
 * TCHAR, the type you should use instead of char.
 */
#ifndef _TCHAR_DEFINED
#ifndef RC_INVOKED
typedef char    TCHAR;
typedef char    _TCHAR;
#endif
#define _TCHAR_DEFINED
#endif

//这是tchar.h头文件里面的内容, 从这里面可以看出,TCHAR 和 _THCAR 完全是一样的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式