L、TEXT()、_TEXT()和_T()的区别

本文介绍了在Windows环境下ANSI与UNICODE字符集之间的转换方法,包括使用L(), TEXT(), _TEXT() 和 _T() 函数的具体实现方式,并说明了这些函数如何根据编译器环境进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018-01-14  创建人:Ruo_Xiao

一、L()

L'a'    //将ANSI字符'a'转化为UNICODE字符。
L"a"    //将ANSI字符串"a"转化为UNICODE字符串。

二、TEXT()、_TEXT()和_T()

1、三者都是根据编译器的环境进行ANSI/UNICODE变换的。
2、TEXT()和_TEXT(),windows风格,定义于头文件“WinNT.h”中,开关为宏“UNICODE”。

#ifdef  UNICODE                     // r_winnt
……
#define __TEXT(quote) L##quote      // r_winnt
#else   /* UNICODE */               // r_winnt
……
#define __TEXT(quote) quote         // r_winnt
#endif /* UNICODE */                // r_winnt

3、_T(),定义于tchar.h中,开关是宏“_UNICODE”。

#ifdef  _UNICODE
……
#define __T(x)      L ## x
……
#else   /* ndef _UNICODE */
……
#define __T(x)      x
……
#endif  /* _UNICODE */

三、多字节字符集(ANSI)和UNICODE字符集##

http://blog.youkuaiyun.com/itworld123/article/details/78823868

四、VS2010设置字符集

项目->工程名+属性
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值