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
Top
LPCTSTR和LPTSTR区别
最新推荐文章于 2023-03-08 01:07:58 发布