初次接触这几个东西的人估计会被搞的晕乎乎的,我也是,最开始都是晕乎乎的在用,终于有一天克服了我懒惰的天性把这几个表兄表弟搞清楚了。有一天发现又有点忘了,现在终于明白好记性不如烂笔头,特此记录。
一 LPSTR:
定义:typedef CHAR* LPSTR;
CHAR其实就是char。
也就是char*。
二 LPWSTR:
定义:typedef WCHAR* LPSTR;
typedef wchar_t WCHAR;
也就是wchar_t*。
三 LPCSTR:
定义:typedef CHAR* LPSTR;
也就是const char *。
四 LPTSTR:
在UNICODE下定义:typedef LPWSTR LPTSTR; 也就是wchar_t*。
在多字节下定义:typedef LPSTR LPTSTR; 也就是char*。
五 LPCTSTR:
在UNICODE下定义:typedef LPCWSTR LPCTSTR;也就是const wchar_t*。
在多字节下定义:typedef LPCSTR LPCTSTR;也就是const char*。
总结:我们把这几个分成三部分来看LP+*+STR。LP代表指针,STR代表字符串,*有里有T的就是代表适配符_T,*里有C的代表const,这样就简单明了了。