牧者

大风起兮云飞扬

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

BSTR,LPSTR,LPWSTR,LPCTSTR,LPTSTR,String,CString,CStringW 字符类型

晕晕的东西

BSTR:是一个OLECHAR*类型的Unicode字符串,是一个COM字符串,带长度前缀,与VB有关,没怎么用到过。  
LPSTR:即 char *,指向以'/0'结尾的8位(单字节)ANSI字符数组指针  
LPWSTR:即wchar_t *,指向'/0'结尾的16位(双字节)Unicode字符数组指针  
LPCSTR:即const char *  
LPCWSTR:即const wchar_t *  
LPTSTR:LPSTR、LPWSTR两者二选一,取决于是否宏定义了UNICODE或ANSI  
LPCTSTR: LPCSTR、LPCWSTR两者二选一,取决于是否宏定义了UNICODE或ANSI。

 

相互转换方法

LPWSTR->LPTSTR:   W2T();
LPTSTR->LPWSTR:   T2W();
LPCWSTR->LPCSTR: W2CT();
LPCSTR->LPCWSTR: T2CW();

ANSI->UNICODE:     A2W();

UNICODE->ANSI:     W2A();

另外,CString转为CStringW方法(通过一个wchar_t数组来转)

 CString str;

 CStringW strw;
 wchar_t *text = new wchar_t[sizeof(wchar_t) * str.GetLength()];
 MultiByteToWideChar(CP_ACP,0,str,-1,text,str.GetLength());

posted on 2018-01-18 15:54  牧者.D  阅读(148)  评论(0)    收藏  举报