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

 

相关文章推荐

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

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

UVALive 4236 Text Messaging Improvement?

http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&probl...

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

_T是一个宏,作用是让你的程序支持Unicode编码。 1定义编辑 _T("")是一个宏,定义于tchar.h下。[1]  #define __T(x) L ##...

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

bss段: BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文BlockStartedby Symbol的简称。BSS段属于静态内存分配。 d...

用Sublime Text2搭建VC编译环境

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

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">的作用

http-equiv="Content-Type":http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。 当服务...

VC程序的SECTION(3):.text

快乐虾http://blog.csdn.net/lights_joy/lights@wo.com.cn 本文适用于Xp sp3 / Vs2008  欢迎转载,但请保留作者信息 这个节看起来很容易理解,...

VC编程_T()的作用

  • 2011-04-20 11:10
  • 28KB
  • 下载

windows的字符集_T() 和_L() _TEXT __T,L

/////////////////////////////////////////// _T("")是一个宏,他的作用是让你的程序支持Unicode编码  因为Windows使用两种字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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