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

}

posted on 2010-11-15 14:30  眼里的圈圈  阅读(4054)  评论(1编辑  收藏  举报