您的位置:首页 > 其它

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

2013-02-25 10:55 363 查看
转载:/article/7105644.html

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();

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