维护单一源码

 uincode的缺点 :1、程序中的没有个字串都占两倍的存储空间....

在Microsoft Visual c++包含了TCHAR.H头文件,_tcslen就定义了wcslen:

            #define _tcslen  wcslen

如果没有定义UNICODE,则 _tcslen定义为strlen;

            #define  _tcslen  strlen

 

TCHAR.H还用一个新的资料类型TCHAR来解决两种字符的问题,如果定义了_UNICODE识别字,那么TCHAR就是wchar_t:

             typedf    wchar_t TCHAR;

否则就是

             typedef  char  TCHAR;

 

 

字串中的L问题

 

如果定义了_UNICODE识别字,那么一个称作__T的巨集就定义如下:

 

#define   _ _T(x)  L##x        //合乎 ANSI C标准的前置处理器规范 ,## 称为 粘贴符号   ,他将字母 L 添加到巨集引数上,因此,如果巨集引数是 "Hello!",则 L##x 解释为 L"Hello!";

如果没有定义 _UNICODE识别字,则 __T巨集只简单的定义如下

 

#define _ _T(x) x

 

此外 还有两个巨集于__T定义相同:

 

        #define _T(x)  _ _T(x)

 

        #define _TEXT(x)  _ _T(x)

 

eg:

    _TEXT("Hello!")

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值