LPSTR LPCSTR LPWSTR LPCWSTR区别

来源:互联网 发布:java.exe占用cpu 编辑:程序博客网 时间:2024/06/04 17:55

LPSTR LPCSTR LPWSTR LPCWSTR区别
  LPSTR   一个32位的指向字符串的指针  
  LPCSTR   一个32位的指向字符串常量的指针  
  LPWSTR   一个32位的指向unicode字符串的指针  
  LPCWSTR   个32位的指向unicode字符串常量的指针

 

你把鼠标移动LPCSTR这样的类型,或变量上,点击鼠标右键,在弹的的菜单上选择,"Go   To   Definition   Of   ...",即可看到其定义的位置  
   
  简单说一下,  
  P代表指针,LP代表long指针,在32位平台上,指针都是32位,即四字节,没有长短之分  
   
  T代表TCHAR,类型中立,看有没有_UNICODE定义  
   
  C代表const  
   
  STR就代表是字符串指针,也就是char*   或者是wchar_t*

 

 

 我一般用char   *   和CString  
  VC里一般都提供CString的接口  
  否则也有LPCTSTR的。  
  如果是LPCTSTR可以直接用CString转换  
  CString   str;  
  (LPCTSTR)str就是LPCTSTR的了。  
  char   *   也可以这么转换成LPCTSTR。  
   
  char   *   不能直接转换成CString,CString   也不能直接转换成char   *  
  但是有了LPCTSTR就可以了。哈哈  
  char   *   p  
  CString   str;  
  p   =   (char*)(LPCTSTR)str;  
  str   =   (CString)(LPCTSTR)p;  
   
  所以,对我来说,LPCTSTR是用来转换的过度工具,它能干什么?我不管。反正我这么用就足够了。

原创粉丝点击