全站数据
8 4 2 0 5 8 1

LPCTSTR和LPTSTR和char *究竟有什么区别

乌龟英语 | 简单学习,快乐成才!         
问题更新日期:2024-11-04 09:51:11

问题描述

LPCTSTR和LPTSTR和char *究竟有什么区别希望能解答下
精选答案
最佳答案

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 UNICODEtypedef 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;#elsetypedef 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