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

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
时间: 2024-10-14 02:42:24

win32编程:L,_T() ,TEXT和_TEXT的相关文章

win32编程之俄罗斯方块

因为把目标定在了游戏上,最近在学习win32编程 经过一段时间的学习,开始进行编程实现俄罗斯方块,记录一下其中遇到的一些问题 一开始是看网上的教程学习的,但是做完一部分之后发现   会有闪屏的情况   所以又去网上搜索了一下发现要用到双缓冲. 注意:这段开始正确性有待考证! 我一开始的时候是把 drawTeris(); drawBackGround(); drawBlocked(); 都放在了WM_PAINT事件里 而且里面都用了双缓冲来绘制,结果导致后面闪屏更加频繁,后来把所有的绘制动作都交由

Win32编程知识积累

Win32编程预知识 Windows sdk中有命令行工具,也有编译器和连接器.可以直接使用命令行编译链接C or C++编写的windows程序.而不必使用专业开发工具. Sdk(Software Development Kit)不支持硬件驱动开发. 绝大多数Windows APIs是由函数和com接口构成的,极少数是c++类(最典型的是GDI+, one of the 2-D graphics APIs) Windows api数据类型因为历史问题而有重复和冗余. ? 常用typedefs:

Win32编程中如何处理控制台消息

这篇文章讨论如何处理所有的控制台消息. 第一步,首先要安装一个事件钩子,也就是说要建立一个回调函数.调用Win32 API,原型如下: BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, // 回调函数BOOL Add // 表示添加还是删除): 参数HandlerRoutine是一个指向函数的指针,原型如下: BOOL WINAPI HandlerRoutine(DWORD dwCtrlType // 控制事件类型): 所有的

【WIN32编程】利用汇编写cs1.6辅助

这篇文章本来在2018.5.1号就写完发圈子去了,这两天跟朋友在网吧打单击才想起来,就顺便把内容发上去把 作者:admin-神风 用CE找到功能的地址 CS1.6下载地址:https://pan.baidu.com/s/1zaW6FmbZg50WV3EKX_IqHw 密码: srcs CE下载地址:https://pan.baidu.com/s/1_tVrikxFx2PAHhmlhWVfFQ 密码: dsn9 打开游戏,并利用CE打开游戏进程 这里我们以人物金钱和子弹为例,找到人物基址 ①查找金

关于 char 、 wchar_t 、 TCHAR 、 _T() ||| 宏 _T 、 TEXT 、 _TEXT 、 L

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!"

Win32编程API 基础篇 -- 1.入门指南 根据英文教程翻译

入门指南 本教程是关于什么的 本教程的目的是向你介绍使用win32 API编写程序的基础知识(和通用的写法).使用的语言是C,但大多数C++编译器也能成功编译,事实上,教程中的绝大多数内容都适用于任何可以连接API的语言,包括Java.Assembly和Visual Basic:我不会向你呈现任何跟这些语言相关的代码,这需要你在本教程的指导下自己去完成,有一些人在本API的基础上使用其他语言进行编程取得了相当的成功. 本教程不会教你C语言,也不会告诉你怎样去运行你特定的编译器(Borland C

Win32编程API 基础篇 -- 3.消息处理 根据英文教程翻译

消息处理 例子:窗口点击 好的,现在我们已经得到一个窗口了,但我们什么也做不了除了DefWindowProc()允许窗口大小被调整,最大最小化等...这不是很激动人心啊 在接下来的一小节中我将向你展示如何修改现有的程序,让它做一些新的事情,这样我就可以告诉你,“处理消息然后这样做...”,我会明白我的意思是什么并且在不需要看完完整的栗子的基础上完成它.所以不管怎样,集中注意力 OK,对初学者来说拿最近的一个窗口程序的代码,保证编译通过并且正常运行,然后你就可以在这份代码的基础上进行一些小修改,或

Win32编程API 基础篇 -- 4.消息循环 根据英文教程翻译

理解消息循环 为了编写任何即使是最简单的程序,了解windows程序的消息循环和整个消息发送结构是非常有必要的.既然我们已经尝试了一点消息处理的东西,我们应该对整个程序有更深入的理解,如果你没有理解消息是怎么发生的和它们运行的机制,那接下来的内容你会感到很蛋疼. 什么是消息? 一条消息是一个整数值,如果你查阅你的头文件(这是个好的查阅API的工作惯例)你会发现像下面的东西: 1 #define WM_INITDIALOG 0x0110 2 #define WM_COMMAND 0x0111 3

Win32编程笔记

我都决定了目前不再接触这些个浪费精力的API了,结果为了DirectX编程我特么又回来了.....微软你的东西真是坑人 以前用这玩意的时候需要什么就查,查完就忘了,这次记一记,以后再用也不至于忘的太离谱. Windows Notifications WM_CLOSE      告知程序你该被terminate了,但其余的什么都不会做,仅仅是一种提示.常用于关闭程序前提示保存.          出现时间:最早 WM_DESTROY  当程序的窗口被销毁后出现,表示程序正在被terminate,此