转自http://blog.csdn.net/whz_zb/article/details/7446901

一、 在字符串前加一个L作用: unicode字符集是两个字节组成的。L告示编译器使用两个字节的 unicode 字符集。
   如  L"我的字符串"    表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。
  strlen("asd")   =   3;   
  strlen(L"asd")   =   6;

 二、  _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式
   如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T("ABCD") 相当于 L"ABCD" ,这是宽字符串。 
   如果没有定义,那么_T宏不会在字符串前面加那个L,_T("ABCD") 就等价于 "ABCD"

如果你接触过unicode你就明白在许多API函数中字符串都需要宽字符的,也就是用两个字节来表示一个字符,这与ANSI字符不同,后者使用一个字节表示一个字符,字符串前加L,就是将ANSI字符转换成UNICODE字符。

最新文章

  1. [虚拟机]Virtual Box的使用--共享文件夹
  2. Mipmap与纹理过滤
  3. javaWeb中struts开发——helloworld
  4. eclipse 利用已有c++代码建工程,并编译执行
  5. python使用random函数生成随机数
  6. 基于s5pv210嵌入式linux系统sqlite3数据库移植
  7. 在什么情况下使用struct,struct与class的区别
  8. KB奇遇记(6):搞笑的ERP项目团队
  9. caffe源码学习之Proto数据格式【1】
  10. 一个简单的HTML5 Web Worker 多线程与线程池应用
  11. js文档就绪函数
  12. 运行UMAT:+ABQ和VS、IVF绑定
  13. 如何把已有SQLSERVER数据库更名而且附加到数据库中?
  14. 我定制的Stylish样式
  15. redis性能测试报告
  16. 一、搭建Django,建立第一个demo
  17. 查看linux 内存
  18. [Windows Azure] Enabling Diagnostics in Windows Azure
  19. BarTender连接不上数据库怎么办
  20. .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件

热门文章

  1. 吃透 MQ
  2. 安装anaconda和第三方库tushare
  3. winnt.h
  4. JPEG解码——(6)IDCT逆离散余弦变换
  5. 巧用 SVG 滤镜还能制作表情包?
  6. 你说,怎么把Bean塞到Spring容器?
  7. Spring Cloud:面向应用层的云架构解决方案
  8. DSP代码搬运至RAM运行
  9. python基础(十):集合的使用(上)
  10. 【Flutter 3-5】Flutter进阶教程——在Flutter中使用Lottie动画