MFC字符串之間的轉換

VC進行數據庫開發,或網絡程序開發時,涉及到許多數據類型的轉換問題,我是感覺很難記憶,所以記下來,以便開發程序時查詢。重要的幾個類類型:

◆BSTR,VARIANT是COM中經常使用的數據類型,如果要進行COM方面的編程,比如ADO,OLEDB數據庫開發必須涉及到數據類型的轉換。經常要把C++數據類型轉成COM數據類型或者COM數據類型型轉成C++數據類型

◆ CComBSTR、_bstr_t,bstr_t是對BSTR的封裝

CComBSTR 是ATL對BSTR的封裝,_bstr_t是C++對BSTR的封裝,BSTR是32位指針,但並不直接指向字串的緩衝區

CComBSTR與_bstr_t對大量的操作符進行了重載,可以直接進行=,!=,==等操作,所以使用非常方便。
特別是_bstr_t,建議大家使用它。

◆ CComVariant,_variant_t,variant_t是VARIANT的包裝類

CComVariant是ATL對VARIANT的封裝,_variant_t,variant_t是c++對VARIANT的封裝。

對於不馬上賦值的VARIANT,最好先用VariantInit(VARIANTARG FAR* pvarg);進行初始化,其本質是將vt設置爲VT_EMPTY。

◆ CString是MFC的關於字符串包裝的類
cstring中定義了很多構造函數,並且重載了==、!=、<;、>;、<=、>=、=等運算符,可以方便進行字符串比較或賦值,


一、_variant_t轉cstring

  1、 declare the variable

       CString str;        _variant_t varStr;

  2、data conversion processing

       str=(LPCSTR)(_bstr_t)varStr;


-------------------------------------未完,待續------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章