码迷,mamicode.com
首页 > Windows程序 > 详细

win32编程:L,_T() ,TEXT和_TEXT

时间:2017-07-09 16:16:12      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:自动   编程   修改   str   否则   end   strlen   class   应该   

L的使用:

在字符串前面的大写字母L,用来告诉编译器该字符串应该作为Unicode来编译。它用来将ASNI转换为Unicode,Unicode字符串中每个字符占16位(两个字节),而在ASNI中每个字符占用一个字节。

例如:

1 std::cout << strlen("Hello") << std::endl;
2 std::cout << wcslen(L"Hello") << std::endl;

 

_T的使用:

_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。

 

_TEXT、TEXT的使用:

tchar.h是运行时的头文件,_T、_TEXT 根据_UNICODE来确定宏 ,如下:

1 #define _T(x)       __T(x)
2 #define _TEXT(x)    __T(x)

winnt.h是Win的头文件根据,TEXT 根据UNICODE 来确定宏,如下:

1 #endif /* UNICODE */                // r_winnt
2 #define TEXT(quote) __TEXT(quote)   // r_winnt

 

win32编程:L,_T() ,TEXT和_TEXT

标签:自动   编程   修改   str   否则   end   strlen   class   应该   

原文地址:http://www.cnblogs.com/lzhu/p/7141470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!