WEB开发网
开发学院软件开发C++ C++字符串完全指引之二:字符串封装类 阅读

C++字符串完全指引之二:字符串封装类

 2010-10-15 09:08:04 来源:Web开发网   
核心提示:COleVariantCOleVariant和CComVariant.很相似,COleVariant继承自VARIANT,C++字符串完全指引之二:字符串封装类(8),所以它可以传给接收VARIANT的函数,然而,而不是返回一个表示失败的HRESULT代码,// Extracting dataCOleVariant v

COleVariant

COleVariant和CComVariant.很相似。COleVariant继承自VARIANT,所以它可以传给接收VARIANT的函数。然而,不像CComVariant,COleVariant只有一个LPCTSTR构造函数。没有对LPCSTR 和LPCWSTR的构造函数。在大多数情况下这不是一个问题,因为不管怎样你的字符串很可能是LPCTSTRs,但这是一个需要意识到的问题。COleVariant还有一个接收CString参数的构造函数。

// Constructing
CString s1 = _T("tchar string");
COleVariant v1 = _T("Bob"); // construct from an LPCTSTR
COleVariant v2 = s1; // copy from a CString

像CComVariant一样,你必须直接访问VARIANT的成员。如果需要把VARIANT转换成一个字符串,你应该使用ChangeType()方法。然而,COleVariant::ChangeType()如果失败会抛出异常,而不是返回一个表示失败的HRESULT代码。

// Extracting data
COleVariant v3 = ...; // fill in v3 from somewhere
BSTR bs = NULL;
 try
  {
  v3.ChangeType ( VT_BSTR );
  bs = v3.bstrVal;
  }
 catch ( COleException* e )
  {
  // error, couldn''t convert
  }
 SysFreeString ( bs );

WTL 类

CString

WTL的CString的行为和MFC的 CString完全一样,所以你可以参考上面关于MFC的 CString的介绍。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:字符串 完全 指引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接