刚玩Windows下的C++编程,快被逼疯了,各种奇葩LPXXSTR转换,所以决定彻底整理下。
先整理下其中涉及的字符定义:
然后是各种LPXXSTR的定义:
名称 | 含义 |
LPSTR |
typedef CHAR *LPSTR
|
LPWSTR | typedef WCHAR *LPWSTR |
LPCSTR | typedef __nullterminated CONST CHAR *LPCSTR |
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 |
PCSTR | typedef CONST CHAR *PCSTR |
PCTSTR | #ifdef UNICODE typedef LPCWSTR PCTSTR; #else typedef LPCSTR PCTSTR; #endif |
PCWSTR | typedef CONST WCHAR *PCWSTR |
PSTR | typedef CHAR *PSTR |
PTSTR | #ifdef UNICODE typedef LPWSTR PTSTR; #else typedef LPSTR PTSTR; #endif |
PWSTR | typedef WCHAR *PWSTR |
TCHAR | #ifdef UNICODE typedef WCHAR TCHAR; #else typedef char TCHAR; #endif |
理清了,也就云开雾明了。