天天看点

LPTSTR、LPCSTR、LPCTSTR、LPSTR、LPWSTR

初次接触这几个东西的人估计会被搞的晕乎乎的,我也是,最开始都是晕乎乎的在用,终于有一天克服了我懒惰的天性把这几个表兄表弟搞清楚了。有一天发现又有点忘了,现在终于明白好记性不如烂笔头,特此记录。

一 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,这样就简单明了了。

继续阅读