visu studio编程中L、TEXT、_TEXT、_T 用法说明
visu studio编程中L、TEXT、_TEXT、_T 用法说明
宽字符和多字节字符的说明如下:
宽字符,wide character,该字符集内每个字符使用相同的位长;
多字节字符,multibyte character,每个字符可以是一到多个字节不等,而某个字节序列的字符值由字符串或流(stream)所在的环境背景决定。
当你在VS2005以上版本的IDE工作时,可以选择工作于这两种不同的编码方式下,而在Unicode方式下,则要对字符(串)常量前添加L来告诉编译器它是宽字符。关于宽字符和多字节字符的用法,MS为我们定义了好几个相关的宏,下面来一一说明:
L:表示一个字符(串)是宽字符(串)
如:
- CString myStr(L"test string");
_T、_TEXT、TEXT 三者效果相同
宽字符(wide character):每个字符使用相同的位长。
多字节字符(multibyte character):每个字符为一到多个字节,而某个字节序列的字符值由字符串或流(stream)所在的环境背景决定。
VS2010 环境,可以选择工作于这两种不同的编码方式下。
Unicode方式下,则要对字符(串)常量前添加L来告诉编译器它是宽字符。
_T //定义于tchar.h
_TEXT //同样定义于tchar.h
- #define _T(x) __T(x)
- #define _TEXT(x) __T(x)
- #ifdef _UNICODE
- #define __T(x) L ## x //第210行
- #else
- #define __T(x) x //第858行
- #endif
TEXT //定义于winnt.h
- #define TEXT(quote) __TEXT(quote)
- #ifdef UNICODE
- #define __TEXT(quote) L##quote
- #else /* UNICODE */
- #define __TEXT(quote) quote
- #endif /* UNICODE */
tchar.h是运行时的头文件,_T、_TEXT 根据_UNICODE来确定宏。
winnt.h是Win的头文件根据,TEXT 根据UNICODE 来确定宏。
如果需要同时使用这3个宏,则需同时定义 UNICODE 和 _UNICODE
VS2010 ,设置:项目--属性--配置属性--常规--字符集--使用Unicode字符集,
那么编译器命令选项中的确同时加入了_UNICODE和UNICODE。
注:项目--属性--配置属性--C/C++--命令行。
_UNICODE宏用于C运行期头文件,UNICODE宏则用于Windows头文件。
当编译源代码模块时,通常必须同时定义这两个宏。
visu studio编程中L、TEXT、_TEXT、_T 用法说明相关推荐
- 解决用C#在visual studio编程中,console一闪而过
解决用C#在visual studio编程中,console一闪而过. 解决办法: 在主方法的最后加:Console.ReadLine(); 转载于:https://blog.51cto.com/wa ...
- 关于char, wchar_t, TCHAR, _T,L,TEXT,_TEXT,LPSTR,LPCSTR,PWSTR,PCWSTR,LPTSTR,LPCTSTR的区别
#ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned char TCHAR; #endif typedef unsigned cha ...
- 请问unix高级编程中的open包含哪些用法
"open" 在 Unix 高级编程中是指一个用于打开文件.设备和网络连接的系统调用.它的用法包括: 打开一个文件:通过 open 函数可以打开一个文件,并获取一个文件描述符. 设 ...
- pythonproperty装饰器_实例讲解Python编程中@property装饰器的用法
取值和赋值 class Actress(): def __init__(self): self.name = 'TianXin' self.age = 5 类Actress中有两个成员变量name和a ...
- js高级编程中命名空间的两种用法
第一种: // 声明一个全局对象Namespace,用来注册命名空间 Namespace = new Object(); // 全局对象仅仅存在register函数,参数为名称空间全路径,如" ...
- 如何在安卓(Android studio)项目中导入模块、jar包、和aar包
安卓(Android studio)编程中,我们常需要引用"别人写的功能",以扩展app的功能,"别人写的功能"主要有模块.jar包.和aar包三种方式. 下面 ...
- 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT
char :单字节变量类型,最多表示256个字符, wchar_t :宽字节变量类型,用于表示Unicode字符, 它实际定义在<string.h>里:typedef unsigned s ...
- VS编程中_T与L的区别
一.L 在字符串前加一个L,如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节. strlen("asd") = ...
- TEXT和_T,_TEXT
VC中_T._TEXT和TEXT宏的作用(来自互联网) 收藏 1.在字符串前加一个L作用. 如:L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用 ...
最新文章
- linux多路由表,linux 多网卡多路由表实现策略路由
- 机电传动控制第三次作业
- 9中继器添加一列序号自增_三个动态自动更新EXCEL序号的小技巧,解决重复编号困扰...
- Docker安装mysql8
- linux脚本里调执行命令,使用shell的-n/-x/-x执行选项调试Shell脚本
- [BZOJ1509][NOI2003]逃学的小孩
- CF 839 E-最大团
- freetextbox java_FreeTextBox-Java架构师必看
- 关于控件开发的几点意见
- 透视形变及其校准的方法
- 客户服务器网络系统的优缺点,浅析网络存储方案的三种类型及其优缺点
- mvn clean install 与 mvn install 的区别
- 条件变量对多线程求素数的改进
- 与孩子一起学编程09章
- python语言count什么意思_python中count函数是什么意思?
- uptime查看服务器负载详解
- 为什么Windows的文件名不能超过255个英文字符,求解答
- adobe imageready怎么扣图
- 多个jar合并成一个jar(复制的)
- Node-RED系列(十九):工业多图标面板制作
热门文章
- Moco接口框架的应用实战
- 龙芯1B — 开发硬件介绍
- 梦幻西游服务器维护一天,梦幻西游2011年梦幻全年维护更新总结 17173.com网络游戏:《梦幻西游》专区...
- javabean:setProperty的四种方法
- nexus6 android 6.0 root,Nexus6 root教程_Nexus6一键获取root权限教程
- JS 事件(onkeyup、onkeydown、onkeypress、onchange),对文本的事件处理之小总结
- IE浏览器被修改怎么办?
- 感受HTML5 Audio API带来的视听盛宴
- HDU 1114—Piggy-Bank(储蓄罐)(完全背包)
- 恒生电子白硕:金融分布式数据库LightDB自主可控、更懂金融、更懂客户