[MFC]LPSTR LPCSTR LPWSTR LPCWSTR

   记下几个字符串东东,即他们得区别:

    LPSTR:一个32位指向字符串的指针,相当于char *;

    LPCSTR:一个32位指向字符串常量的指针,相当于const char *;

    LPWSTR:一个32位指向Unicode字符串指针,相当于wchar_t *;

    LP
CWSTR:一个32位指向Unicode字符串常量指针,相当于const wchar_t *;
   
1 #ifdef UNICODE

2  typedef LPWSTR LPTSTR;

3  typedef LPCWSTR LPCTSTR;

4 #else

5  typedef LPSTR LPTSTR;

6  typedef LPCSTR LPCTSTR;

7 #endif 
   
    当然我们也可以相互转换一下(强行转换会变乱码):

    LPWSTR--->LPTSTR: W2T();

    LPTSTR--->LPWSTR: T2W();

    LPCWSTR--->LPCSTR: W2CT();

    LPCSTR--->LPCWSTR:T2CW();

    上面我们可以看到L为LONG,P为POINT指针,W为WIDE,C为constant,STR为string。

原文地址:https://www.cnblogs.com/xdotnet/p/cpp_string.html