LPSTR:一个32位指向字符串的指针,相当于char *;
LPCSTR:一个32位指向字符串常量的指针,相当于const char *;
LPWSTR:一个32位指向Unicode字符串指针,相当于wchar_t *;
LPCWSTR:一个32位指向Unicode字符串常量指针,相当于const wchar_t *;
MSDN是这样定义原型的:
typedef CONST CHAR *LPCSTR, *PCSTR;
typedef LPCSTR LPCTSTR;
typedef WCHAR *LPWSTR, *PWSTR;
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
char
wchar_t
wchar_t*=LPTSTR
char*=LPSTR
const char*=LPCSTR
const wchar_t* =LPCTSTR:
当然我们也可以相互转换一下(强行转换会变乱码):
LPTSTR—>LPSTR: W2A()
LPWSTR—>LPTSTR: W2T();
LPTSTR—>LPWSTR: T2W();
LPCWSTR—>LPCSTR: W2CT();
LPCSTR—>LPCWSTR:T2CW();
上面我们可以看到L为LONG,P为POINT指针,W为WIDE,C为constant,STR为string。
在使用这些函数前记得加个宏:USES_CONVERSION
LINK:http://www.cnblogs.com/xdotnet/archive/2007/06/30/cpp_string.html