如何理解LPCTSTR,
L表示long指针, 这是为了兼容Windows 3.1等16位操作系统遗留下来的, 在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。
P表示这是一个指针
C表示是一个常量
T在Win32环境中, 有一个_T宏, 这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏, 那么这个字符或者字符串将被作为UNICODE字符串, 否则就是标准的ANSI字符串。
STR表示这个变量是一个字符串。
所以LPCTSTR就表示一个指向常固定地址的可以根据一些宏定义改变语义的字符串。
同样, LPCSTR就只能是一个ANSI字符串, 在程序中我们大部分时间要使用带T的类型定义。
LPCTSTR == const TCHAR *
博客主要讲解了在Windows环境下如何理解LPCTSTR。介绍了L、P、C、T、STR各部分含义,指出L为兼容遗留,P是指针,C是常量,T与字符编码有关,STR表示字符串。还提到LPCTSTR指向常固定地址且语义可变,LPCSTR只能是ANSI字符串。
2537

被折叠的 条评论
为什么被折叠?



