VC _T的用途.doc_第1页
VC _T的用途.doc_第2页
VC _T的用途.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC _T的用途VC+里面定义字符串的时候,用_T来保证兼容性。VC+支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T。_t(hello world)在ansi的环境下,它是ansi的,如果在unicode下,那么它将自动解释为双字节字符串,既unicode编码。这样做的好处,不管是ansi环境,还是unicode环境,都适用。那么在VC+中,字符串_T(ABC)和一个普通的字符串ABC有什么区别呢?_T(ABC)如果定义了unicode,它将表示为LABC,每个字符为16位,宽字符串。如果没有定义unicode,它就是ascii的ABC,每个字符为8位。相当于#ifdef _UNICODE#define _T(ABC) LABC#else#define _T(ABC) ABC#endif_T(ABC)中的一个字符和汉字一样,占两个字节,而在ABC中,英文字符占一个字节,汉字占两个字节。一、 在字符串前加一个L作用: 如 L我的字符串 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。strlen(asd) = 3;strlen(Lasd) = 6; 二、 _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式 如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T(ABCD) 相当于 LABCD ,这是宽字符串。 如果没有定义,那么_T宏不会在字符串前面加那个L,_T(ABCD) 就等价于 ABCD三、TEXT,_TEXT 和_T 一样的如下面三语句:TCHAR szStr1 = TEXT(str1);char szStr2 = str2;VC _T的用途2009-09-23 16:28from:/athemon/archive/2008/08/29/2849584.aspxVC+里面定义字符串的时候,用_T来保证兼容性。VC+支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T。_t(hello world)在ansi的环境下,它是ansi的,如果在unicode下,那么它将自动解释为双字节字符串,既unicode编码。这样做的好处,不管是ansi环境,还是unicode环境,都适用。那么在VC+中,字符串_T(ABC)和一个普通的字符串ABC有什么区别呢?_T(ABC)如果定义了unicode,它将表示为LABC,每个字符为16位,宽字符串。如果没有定义unicode,它就是ascii的ABC,每个字符为8位。相当于#ifdef _UNICODE#define _T(ABC) LABC#else#define _T(ABC) ABC#endif_T(ABC)中的一个字符和汉字一样,占两个字节,而在ABC中,英文字符占一个字节,汉字占两个字节。一、 在字符串前加一个L作用: 如 L我的字符串 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。strlen(asd) = 3;strlen(Lasd) = 6; 二、 _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式 如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T(ABCD) 相当于 LABCD ,这是宽字符串。 如果没有定义,那么_T宏不会在字符串前面加那个L,_T(ABCD) 就等价于 ABCD三、TEXT,_TEXT 和_T 一样的如下面三语句:TCHAR szStr1 = TEXT(str1);char szStr2 = str2;WCHAR szStr3 = L(str3);那么第一句话在定义了UNICODE时会解释为第三句话,没有定义时就等于第二句话。但二句话无论是否定义了UNICODE都是生成一个ANSI字符串,而第三句话总是生成UNICODE字符串。为了程序的可移植性,建议都用第一种表示方法。但在某些情况下,某个字符必须为ANSI或UNICODE,那就用后两种方法WCHAR szStr3 = L(str3);那么第一句话在定义了UNICODE时会解释为第三句话,没有定义时就等于第二句话。但二句话无论是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论