设为首页 加入收藏

TOP

【整理】Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
2012-12-02 22:32:32 】 浏览:429
Tags:整理 Dword LPSTR LPWSTR LPCSTR LPCWSTR LPTSTR LPCTSTR

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。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇c++中的函数前面加个LRESULT是什.. 下一篇C++问题 & *用法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目