字符类问题汇总

CString、BSTR和LPCTSTR之间的区别

1、BSTR与LPCTSTR之间的转换

  BSTR 转换为LPCTSTR

  BSTR bstr;

  LPCTSTR lpctstr;

  lpctstr=(LPCTSTR)_bstr_t(bstr);

  LPCTSTR 转换为BSTR 

 

2、LPSTR与CString之间的转换

  CString 转换成 LPTSTR

  使用lstrcpy()
  CString strText( "This is a test" );
  LPTSTR lpszText = new TCHAR[strText.GetLength()+1];  
  lstrcpy( lpszText, strText );

  LPTSTR 转换成 CString

  (1)直接赋值
  CString strText;
  LPTSTR lpszText = _T("LPTSTR >> CString");
  strText = lpszText;
  ::MessageBox( NULL, strText , _T("标题"), MB_ICONASTERISK|MB_TASKMODAL|MB_OK );

  (2)CString::Format()格式化
  CString strText;
  LPTSTR lpszText = _T("LPTSTR >> CString");
  strText.Format( _T("%s"), lpszText );
  ::MessageBox( NULL, strText , _T("标题"), MB_ICONASTERISK|MB_TASKMODAL|MB_OK );

  

posted @ 2015-08-11 00:18  米罗西  阅读(164)  评论(0)    收藏  举报