typedef char CHAR;
typedef CHAR *LPSTR, *PSTR;
也就是说LPSTR与PSTR定义的变量与char *定义的变量完全相同,都可以作为指向字符串的指针,而LPSTR的字面意思是指向字符串的长指针,PSTR的字面意思是指向字符串的指针,但是在Visual C++ 6.0中它们完全相同,没有任何区别,只是由于习惯大家还分别在不同的地方使用它们。
即:LPSTR=PSTR=char *(完全等同)
LPSTR、LPCSTR相当于char *,所以这种类型变量的赋值等同于char *的赋值。如果你不了解char *的赋值,你需要去看看C语言入门的书,比如谭浩强的《C语言程序设计》第9章就介绍了这个问题。下面给出两个例子,一个是直接赋值,另一个是间接的。
Ex1: LPSTR lpstrMsg = "I'm tired.";
Ex2: char strMsg[]="I'm tired.";
LPSTR lpstrMsg = (LPSTR) strMsg;