VC中_T、_TEXT和TEXT宏的作用(来自互联网)

转载 2011年01月10日 14:43:00

1.在字符串前加一个L作用。

如:L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。

strlen("asd")   =   3;

而strlen(L"asd")   =   6;

 

2._T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式。

如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时_T("ABCD") 相当于L"ABCD" ,这是宽字符串。

如果没有定义,那么_T宏不会在字符串前面加那个L,_T("ABCD") 就等价于"ABCD"。

 

3.TEXT,_TEXT 和_T 一样的

   如下面三语句:

       TCHAR     szStr1[] = TEXT("str1");

       char        szStr2[] =  "str1";

       WCHAR   szStr3[] = L("str1");

那么第一句话在定义了UNICODE时会解释为第三句话,没有定义时就等于第二句话。但二句话无论是否定义了UNICODE都是生成一个ANSI字符串,而第三句话总是生成UNICODE字符串。    

为了程序的可移植性,建议都用第一种表示方法。

但在某些情况下,某个字符必须为ANSI或UNICODE,那就用后两种

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/adcxf/archive/2008/06/12/2540992.aspx

 

windows编程中L,_T() ,TEXT和_TEXT的使用及其区别

一、 L使用说明TCHAR *szError = L"Error";字符串(literal string)前面的大写字母L,用来告诉编译器该字符串应该作为Unicode来编译。它用来将ASNI转换为U...
  • u012260238
  • u012260238
  • 2016年10月03日 12:21
  • 2182

VS2010中_T("")宏的作用

 他的作用是让你的程序支持Unicode编码, 因为Windows使用两种字符集ANSI和UNICODE, 前者就是通常使用的单字节方式, 但这种方式处理像中文这样的双...
  • starain2000
  • starain2000
  • 2014年12月01日 21:13
  • 1088

《周鸿祎自述:我的互联网方法论》--读后感

在工作之余阅读完了 15年的第一本书,360大哥--周鸿祎的《我的互联网方法论》.    书写的挺直白,易懂 读起来就像和位老前辈喝酒聊天一样,虽然书中的知识没有吸收多少,现在还是边看目录边看网友总结...
  • dtm19931001
  • dtm19931001
  • 2015年01月07日 22:12
  • 1719

Chapter02-VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用

一、 在字符串前加一个L作用:     如 L"我的字符串"表示将ANSI字符串转换成unicode 的字符串,就是每个字符占用两个字节。    strlen("asd")   =...
  • tzs33
  • tzs33
  • 2015年01月17日 10:04
  • 234

"const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容(即_T、TEXT("")和L"" 的问题)

授之以鱼不如授之以渔 本篇主要针对于Windows编程过程中遇到字符串转换的一些问题,因为讲的比较详细,需要大家仔细读下去,读完之后,你就会豁然开朗(如果不想刨根问底,直接看最后的举例说明即可)。以...
  • O_MMMM_O
  • O_MMMM_O
  • 2018年01月04日 14:06
  • 91

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

_T是一个宏,作用是让你的程序支持Unicode编码。 1定义编辑 _T("")是一个宏,定义于tchar.h下。[1]  #define __T(x) L ##...
  • u012942555
  • u012942555
  • 2014年11月17日 09:19
  • 433

SQL Server 全文索引查询T-SQL学习笔记之一(Full-text index)

这段时间为了提高海量字符串数据的查询效率,我对字段添加了全文索引。首先全文索引相对于传统的索引是有区别的,这是因为传统的索引主要是以首字母开始建立的索引,处理like 'keword%'这样的查询会很...
  • mituan1234567
  • mituan1234567
  • 2014年06月10日 15:51
  • 594

UVALive 4236 Text Messaging Improvement?

http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&probl...
  • sgeteternal
  • sgeteternal
  • 2012年08月19日 09:31
  • 752

用Sublime Text2搭建VC编译环境

用惯了臃肿的VS2013,有时候想写个小项目,小测试程序,编辑浏览代码什么的不想 总打开它,于是我折腾了一下Sublime Text2 这款现代化高大上的强大代码编辑器,它的定位 在于绿色轻巧,速度快...
  • u013025310
  • u013025310
  • 2015年03月05日 14:53
  • 1363

汇编中bss,data,text,rodata,heap,stack段的作用

bss段: BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文BlockStartedby Symbol的简称。BSS段属于静态内存分配。 d...
  • BXD1314
  • BXD1314
  • 2014年08月08日 08:33
  • 810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC中_T、_TEXT和TEXT宏的作用(来自互联网)
举报原因:
原因补充:

(最多只允许输入30个字)