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