LPSTR = char*

LPCSTR = const char*



LPTSTR:

如果定义了UNICODE宏,那么LPTSTR = wchar_t*否则LPTSTR = char*



LPCTSTR:

如果定义了UNICODE宏,那么LPCTSTR = const wchar_t*,否则LPCSTR = const char*





告诉你方法,

"LP"前缀是历史遗留的,在Win32下就是 P ,代表指针的含义。

"C"代表const

"T"的含义就是如果定义了UNICODE,它就是宽字符版本,否则就是Ansi版本。

完整定义如下:



//Unicode 版本



typedef wchar_t WCHAR;

typedef WCHAR *PWCHAR;

typedef WCHAR *LPWCH, *PWCH;

typedef CONST WCHAR *LPCWCH, *PCWCH;

typedef WCHAR *NWPSTR;

typedef WCHAR *LPWSTR, *PWSTR;

typedef WCHAR UNALIGNED *LPUWSTR, *PUWSTR;



typedef CONST WCHAR *LPCWSTR, *PCWSTR;

typedef CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR;





// Ansi版本



typedef CHAR *PCHAR;

typedef CHAR *LPCH, *PCH;



typedef CONST CHAR *LPCCH, *PCCH;

typedef CHAR *NPSTR;

typedef CHAR *LPSTR, *PSTR;

typedef CONST CHAR *LPCSTR, *PCSTR;





#ifdef UNICODE

    typedef WCHAR TCHAR, *PTCHAR;

    typedef WCHAR TBYTE , *PTBYTE ;

    typedef LPWSTR LPTCH, PTCH;

    typedef LPWSTR PTSTR, LPTSTR;

    typedef LPCWSTR PCTSTR, LPCTSTR;

    typedef LPUWSTR PUTSTR, LPUTSTR; 

    typedef LPCUWSTR PCUTSTR, LPCUTSTR;

    typedef LPWSTR LP;

#else

    typedef char TCHAR, *PTCHAR;

    typedef unsigned char TBYTE , *PTBYTE ;

    typedef LPSTR LPTCH, PTCH;

    typedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR;

    typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;

#endif

LPCTSTR和LPTSTR和char *究竟有什么区别的更多相关文章

  1. LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别

    引用 LPSTR.LPCSTR.LPTSTR.LPCTSTR.LPWSTR及LPCWSTR的意义及区别 1.ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式.ANSI表示英文字 ...

  2. 面试现场:说说char 和 varchar的区别你了解多少?

    Hi,大家好!我是白日梦!本文是MySQL专题的第 26 篇. 下文还是白日梦以自导自演的方式,围绕"说说char 和 varchar的区别你了解多少?"展开本话题.看看你能抗到第 ...

  3. 面试官疯狂问我:char和varchar的区别 怎么办?愣着干嘛?进来白嫖啊!

    MySQL的修仙之路,图文谈谈如何学MySQL.如何进阶!(已发布) 面前突击!33道数据库高频面试题,你值得拥有!(已发布) 大家常说的基数是什么?(已发布) 讲讲什么是慢查!如何监控?如何排查?( ...

  4. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  5. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...

  6. char varchar varchar2 的区别 (转)

    char varchar varchar2 的区别       http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是 ...

  7. MYSQL—— char 与 varchar的区别!

    一.char 和 varchar 的区别: 1)取值范围: char:取值范围:0~255 varchar:取值范围:0~65535 2)空间占用与速度: char: 定长字符串,占用空间大,速度快, ...

  8. "=="和 equals 方法究竟有什么区别?

    "=="和 equals 方法究竟有什么区别? ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引 ...

  9. [百家号]雷电3和USB Type-C究竟有什么区别?

    雷电3和USB Type-C究竟有什么区别? https://baijiahao.baidu.com/s?id=1617271490773519582&wfr=spider&for=p ...

随机推荐

  1. Word 开发资料集合

    Word 对象模型概述  https://msdn.microsoft.com/zh-cn/library/kw65a0we.aspx DSOframer微软官方API的查阅方法  http://sh ...

  2. jQuery的无new创建方法

    一般我们去写一个框架,会采用什么样的设计呢?比如设计一个jQuery框架,一般我们会创建一个函数对象 function jQuery(params){ //构造函数 }jQuery.prototype ...

  3. Linux:安装Ubuntu时出现“客户机操作新系统已禁用CPU,请关闭或重置虚拟机”

    安装Ubuntu时出现“客户机操作新系统已禁用CPU,请关闭或重置虚拟机“ 解决 在vmware的虚拟机的配置文件中找到xxxx.vmx的文件 用记事本打开 加入 cpuid..eax = " ...

  4. keras_基本网络层结构(1)_常用层

    参考文献: https://blog.csdn.net/sinat_26917383/article/details/72857454 http://keras-cn.readthedocs.io/e ...

  5. [CF125E]MST Company

    codeforces description 给出一张\(n\)点\(m\)条边的无向图,求一棵满足\(1\)号点度数恰好为\(k\)的最小生成树,并输出方案. \(1\le k\le n\le500 ...

  6. Windows 7 x64 安装 Oracle 11g Express

    1. 下载    在这里下载文件: Oracle Database Express Edition 11g Release 2 for Windows x32    Oracle 不提供 window ...

  7. javaweb经典面试题

    1.hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库. 工作原理: 1.读取并解析配置文件2. ...

  8. 有些文件不需要配置,只需要放到resources下面

    今天和一位同事探讨了一个问题,开始的时候我事先的读取某个映射文件是配置在applicationContext.xml的bean定义里面:但是他提出来,是否可以不需要配置呢?直接作为一个资源文件完事,这 ...

  9. bzoj 3924 [Zjoi2015]幻想乡战略游戏——动态点分治(暴力移动找重心)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3924 度数只有20,所以从一个点暴力枚举其出边,就能知道往哪个方向走. 知道方向之后直接走到 ...

  10. SQL Server 查询表的主键的两种方式

    方式1: select b.column_name from information_schema.table_constraints a inner join information_schema. ...