_variant_t 類型的使用
_variant_t 類型是對 VARIANT 數據類型進行了封裝,所以比 VARIANT 類型更加好用。凡是需要 VARIANT 類型的地方,我們都可以用 _variant_t 類型代替之。
1. 類型初始化(及初始化爲 VT_EMPTY )
1) Void VariantInit(VARIANTARG FAR* pvarg)
例如:
l _variant_t va; VariantInit(&va);
l VARIANT va; VariantInit(&va);
2) _variant_t 的構造函數 _variant_t()
2. 清空數據
VariantClear() 將數據清空,並且設置爲 VT_EMPTY
3. 數據類型轉換
1) UINT/Int/BOOL/bool/short/unsigned short/long/unsigned long/__int64/unsigned__int64/float/double/wchar*/char*/ _bstr_t/BYTE/VARIANT 類型轉成 _variant_t 類型
l T value;
_variant_t va = _variant_t(value);
2) _variant_t 類型轉成 UINT/int/BOOL/bool/short/unsigned short/long/unsigned long/__int64/unsigned __int64/float/double/_bstr_t/BYTE/VARIANT 等類型
l _variant_t va;
T va = (T)va;
3) _variant_t 類型轉成 LPTSTR 類型
l _variant_t va;
LPTSTR lpStr = new TCHAR[100];
Lstrcpyn(lpStr, (_bstr_t)va, 100);
4) _variant_t 類型轉成 CString 類型
l _variant_t va;
CString strStr = CString((LPCSTR)(_bstr_t)va);