VC++中L和_T是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC++中L和_T是啥?相关的知识,希望对你有一定的参考价值。
MessageBox(L"hello, world");
MessageBox(_T"hello, world");
我知道L和_T的作用把后面的字符串转换成 unicode。
我想知道L和_T在VC中叫什么?
_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual
C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。
因此,当你在VS2005/VS2008下进行写C++(MFC程序时)最好应用_T;而在VS2010等下直接用L吧! 参考技术A L"hello, world" 这个字符串保存的是wchar的
_T"hello, world" 如果工程定义的UNICDE则这个字符串是按wchar方式保存的,如果没有定义则是按char方式保存的本回答被提问者和网友采纳 参考技术B 回答
1、L是升,T是吨。2、L是liter,L在这里就是容积升的单位。指的是汽车发动机的排气量。1.8L的意思是指这款发动机有1.8升的排气量。 排量后面没有T而标注L的一般是自然吸气发动机。3、T代表的是涡轮增压(Turbo)的缩写,如果在轿车尾部看到Turbo或者T,即表明该车采用的发动机是涡轮增压发动机。
参考技术C longtext
VC++ _T()宏学习
_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。
因此,Visual
_T和L的区别在于,L不管你是以什么方式编译,一律以UNICODE方式保存。
_T是一个适配的宏,
当
#ifdef _UNICODE的时候
_T就是L
没有#ifdef _UNICODE的时候
_T就是ANSI的。
代码如下,
输出没什么区别;
代码如下,
输出如下;
代码如下,
输出如下;
代码如下,
输出如下;
有时间再继续;
以上是关于VC++中L和_T是啥?的主要内容,如果未能解决你的问题,请参考以下文章