博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LPCTSTR,LPWSTR, PTSTR, LPTSTR含义
阅读量:2789 次
发布时间:2019-05-13

本文共 799 字,大约阅读时间需要 2 分钟。

L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP与P是等效的。

P表示这是一个指针。
T表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串。
STR表示这个变量是一个字符串。
C表示是一个常量,const。

LPTSTR:

如果定义了UNICODE宏则LPTSTR被定义为LPWSTR。typedef LPTSTR LPWSTR;
否则LPTSTR被定义为LPSTR。 typedef LPTSTR LPSTR; 
下面列出一些常用的typedefs:
类型   MBCS           Unicode
WCHAR wchar_t         wchar_t 
LPSTR   char*           char* 
LPCSTR const char*    const char* 
LPWSTR wchar_t*        wchar_t* 
LPCWSTR const wchar_t* const wchar_t* 
TCHAR    char           wchar_t 
LPTSTR TCHAR*(或char*)    TCHAR* (或wchar_t*)
LPCTSTR const TCHAR*     const TCHAR*

由于Win32 API文档的函数列表使用函数的常用名字(例如,SetWindowText"),所有的字符串都是用TCHAR来定义的。(除了XP中引入的只适用于Unicode的API)。所以结论,在VS2005系统中,为提高可移植性,定义字符串时用TCHAR,转化为UNICODE时用_T而不用L。

转载地址:http://zdfmd.baihongyu.com/

你可能感兴趣的文章
C语言字符与ASCII码的互转,字符和整型的转换
查看>>
VideoState结构体、VideoPicture结构体
查看>>
Effective Python 读书笔记: 第54条: 考虑用模块级别的代码来配置不同的部署环境
查看>>
Python高级编程 读书笔记: 5、 第3章_生成器
查看>>
Python高级编程 读书笔记: 9、 第5章_元类
查看>>
机试算法讲解: 第8题 叠筐
查看>>
JSON过滤去掉handler
查看>>
异常的分类
查看>>
自定义异常
查看>>
MFC消息映射机制
查看>>
手工进行消息映射
查看>>
程序交互的几种方式
查看>>
JDBC的概念
查看>>
Java编程语言和JDBC
查看>>
JDBC编程的步骤
查看>>
例1:通过ODBC建立连接
查看>>
例2:通过SQLSERVER 提供的驱动程序获得连接
查看>>
例3:通过ORACLE提供的驱动程序获得连接
查看>>
一个技术小白整理出来的for循环使用几种方法~~
查看>>
跟着小白浅谈"自动装箱及自动拆箱"
查看>>