_T(x) _TEXT(x) L 代表什么?】的更多相关文章

首先  <tchar.h>中 #ifdef  _UNICODE .... #define __T(x)      L ## x  //替换 #else   /* ndef _UNICODE */ #define __T(x)      x      //无替换 你可能会问:L ## x 是什么? 大写字母L(代表「long」),这将告诉编译器该字符串按宽字符保存-即每个字符占用2个字节; 那么_T(X) _TEXT 就会根据__T(X)的值来决定最后替换成什么 <tchar.h>后…
_T._TEXT.L.TEXT之间的区别 在分析前先对三者做一个简单的分类 _T._TEXT.TEXT三者都是根据编译器的环境进行ANSI/UNICODE变换的,_T和_TEXT是根据_UNICODE来确定宏,而TEXT是根据UNICODE来确定宏, (_UNICODE宏用于C运行期头文件,而UNICOED则用于Windows头文件,当编译源代码模块时,通常必须同时定义这两个宏) 第一种:L" " 在字符串前加一个大写字母L表示,告诉编译器这个字符串按照宽字符来存储,每个字符占2个字节…
CSDN原博文:http://blog.csdn.net/houkai363/article/details/8134787 遇到了:不能将参数 1 从“const char [5]”转换为“LPCTSTR”的错误,刚学MFC数据类型还不熟悉啊 哈哈 这个和C++稍有不同 做下记录 以后就没问题了. 解决方案:  一. 在字符串前加一个L作用:  如  L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节. strlen("hou&qu…
本片文章转载自:http://www.cnblogs.com/sobe/archive/2011/03/14/1984188.html 百度或谷歌一下,有很多大牛早已经写过无数相关的文章说明这几个宏的作用 而我嘛,写这篇东东当是给自己一个提醒,因为之前直接使用了L这个标志,搞到后来要自己手动转编码 MSDN中对于L的说明有一大堆英文,不过主要的就是:L是用来标志一个字符(串)为宽字符(串) 宽字符和多字节字符的说明如下:(引用自网络) 宽字符,wide character,该字符集内每个字符使用…
一. 在字符串前加一个L作用:    如  L"我的字符串"    表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节.   strlen("asd")   =   3;     strlen(L"asd")   =   6; 二.  _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式    如果你定义了UNICODE,那么_T宏会把字符串…
char :单字节变量类型,最多表示256个字符,wchar_t :宽字节变量类型,用于表示Unicode字符,它实际定义在<string.h>里:typedef unsigned short wchar_t.为了让编译器识别Unicode字符串,必须以在前面加一个"L",定义宽字节类型方法如下:wchar_t c = `A' ;wchar_t * p = L"Hello!" ;wchar_t a[] = L"Hello!" ;其中,…
char :单字节变量类型,最多表示256个字符, wchar_t :宽字节变量类型,用于表示Unicode字符, 它实际定义在<string.h>里:typedef unsigned short wchar_t. 为了让编译器识别Unicode字符串,必须以在前面加一个“L”,定义宽字节类型方法如下: wchar_t c = `A' ; wchar_t * p = L"Hello!" ; wchar_t a[] = L"Hello!" ; 其中,宽字节…
字符串前面加L表示该字符串是Unicode字符串. _T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定义字符串的时候,用_T来保证兼容性.VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改. 以下是别人的总结: 一.在字符串前加一个L作用:     如 L"我的字符串" 表示将ANSI字符串转换成unico…
上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的一个地方,我们对它进行了总结和归纳.本篇文章我们将继续讲解C++开发中容易混淆的另一个概念——多字节字符集与Unicode字符集. 多字节字符与宽字节字符 char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t. char叫多字节字符,一个char占一个字节…
多字节字符与宽字节字符 1) char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t. char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节.一个英文字符(如’s’)用一个char(一个字节)表示,一个中文汉字(如’中’)用3个char(三个字节)表示,看下面的例子. void TestChar() { char ch1 = 's'; // 正确 cout << "ch1:&quo…