您的位置:首页 > 其它

BSTR,_bstr_t,CComBSTR,VARIANT,_variant_t,CString的转换

2010-11-15 14:30 369 查看
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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐