VC6.0上編譯通過,console程式,使用靜態MFC庫。也許有不對的地方,歡迎指正
#include <stdio.h>
#include <afx.h>
#include <comdef.h>
#include <atlbase.h>
void main()
{
BSTR bstrText;
_bstr_t _bstr_tText;
CString cstrText;
LPTSTR pText;
CComBSTR ccomstrText;
VARIANT variantText;
_variant_t _variant_tText;
//char*轉成其他類型
_bstr_tText = "系統設定";
bstrText = _com_util::ConvertStringToBSTR("通道設定");
SysFreeString(bstrText); //必須釋放
cstrText = "使用者管理";
ccomstrText = "日誌管理";
variantText.vt = VT_BSTR;
variantText.bstrVal = _com_util::ConvertStringToBSTR("jinan1861");
_variant_tText = "警示管理";
//BSTR轉成其他類型
bstrText = _com_util::ConvertStringToBSTR("通道設定");
cstrText = bstrText;
_bstr_tText = bstrText;
ccomstrText = bstrText;
variantText.vt = VT_BSTR;
variantText.bstrVal = bstrText;
_variant_tText = bstrText;
pText = _com_util::ConvertBSTRToString(bstrText);
SysFreeString(bstrText);
delete(pText); //需要delete
//_bstr_t轉成其他類型
_bstr_tText = "系統設定";
cstrText = (LPCTSTR)_bstr_tText;
bstrText = (BSTR)_bstr_tText;
pText = (char*)_bstr_tText;
ccomstrText = (BSTR)_bstr_tText;
variantText.vt = VT_BSTR;
variantText.bstrVal = (BSTR)_bstr_tText;
_variant_tText = _bstr_tText;
//Cstring轉成其他類型
cstrText = "日誌管理";
LPCTSTR pText1 = (LPCTSTR)cstrText;
bstrText = _com_util::ConvertStringToBSTR( (LPCTSTR)cstrText );
variantText.vt = VT_BSTR;
variantText.bstrVal = bstrText;
SysFreeString(bstrText);
_bstr_tText = cstrText;
ccomstrText = cstrText;
_variant_tText = (LPCTSTR)cstrText;
//ccomstrText轉成其他類型
ccomstrText = "使用者管理";
cstrText = ccomstrText;
_bstr_tText = ccomstrText;
bstrText = ccomstrText;
pText1 = (LPCTSTR)cstrText;
variantText.vt = VT_BSTR;
variantText.bstrVal = (BSTR)ccomstrText;
_variant_tText = (BSTR)ccomstrText;
//VARIANT轉成其他類型
if (variantText.vt == VT_BSTR)
{
//variantText.bstrVal是BSTR類型,參考BSTR的轉換方法
}
//_variant_t是VARIANT的封裝類,
//建構函式和操作符'='支援VARIANT,_bstr_t和LPTSTR
//_variant_t轉成其他類型
_variant_tText = "抓圖管理";
_bstr_tText = (_bstr_t)_variant_tText;
cstrText = (LPCTSTR)_bstr_tText;
pText1 = (char*)_bstr_tText;
bstrText = (_bstr_t)_variant_tText;
_bstr_tText = _variant_tText;
ccomstrText = (BSTR)_bstr_tText;
variantText = _variant_tText;
getchar();
}