Windows Data Types --- 字符串指针

来源:互联网 发布:长春工业大学知乎 编辑:程序博客网 时间:2024/04/30 03:01

预备知识:
typedef char CHAR;
typedef wchar_t WCHAR;
#define CONST const

TCHAR
#ifdef UNICODE
 typedef WCHAR TCHAR;
#else
 typedef char TCHAR;
#endif

 

字符串指针
LPSTR
typedef CHAR *LPSTR;

 

LPCSTR
typedef __nullterminated CONST CHAR *LPCSTR;

 

LPWSTR
typedef WCHAR *LPWSTR;

 

LPCWSTR
typedef CONST WCHAR *LPCWSTR;

 

LPTSTR
#ifdef UNICODE
 typedef LPWSTR LPTSTR;
#else
 typedef LPSTR LPTSTR;
#endif

 

LPCTSTR
#ifdef UNICODE
 typedef LPCWSTR LPCTSTR;
#else
 typedef LPCSTR LPCTSTR;
#endif

 

PSTR
typedef CHAR *PSTR;

 

PCSTR
typedef CONST CHAR *PCSTR;


PWSTR
typedef WCHAR *PWSTR;


PCWSTR
typedef CONST WCHAR *PCWSTR;


PTSTR
#ifdef UNICODE
 typedef LPWSTR PTSTR;
#else
 typedef LPSTR PTSTR;
#endif


PCTSTR
#ifdef UNICODE
 typedef LPCWSTR PCTSTR;
#else
 typedef LPCSTR PCTSTR;
#endif

 

规律:

LP是Long Pointer的简称,长指针(相对于16位的短指针而言)

C是const的简称

T的具体含义根据项目的编码方式(ANSI或Unicode)来确定。

W是WCHAR的简称

所以:

LPSTR是一个指向char类型的指针

LPCSTR是一个指向const char类型的指针

LPWSTR是一个指向wchar_t类型的指针

LPCWSTR是一个指向const wchar_t类型的指针

LPTSTR是一个指向TCHAR类型的指针

LPCTSTR是一个指向CONST TCHAR类型的指针

PSTR是一个指向char类型的指针

PCSTR是一个指向const char类型的指针

PWSTR是一个指向wchar_t类型的指针

PCWSTR是一个指向const wchar_t类型的指针

PTSTR是一个指向TCHAR类型的指针

PCTSTR是一个指向CONST TCHAR类型的指针

原创粉丝点击