_com_util::ConvertBSTRToString( BSTR bstr )
_com_util::ConvertStringToBSTR( char * );

解决方案 »

  1.   

    BSTR、_bstr_t与CComBSTR
    CComBSTR 是ATL对BSTR的封装,_bstr_t是C++对BSTR的封装,BSTR是32位指针,但并不直接指向字串的缓冲区。
    char *转换到BSTR可以这样: 
    BSTR b=_com_util::ConvertStringToBSTR("数据");///使用前需要加上comutil.h和comsupp.lib
    SysFreeString(bstrValue); 
    反之可以使用
    char *p=_com_util::ConvertBSTRToString(b);
    delete p;CComBSTR与_bstr_t对大量的操作符进行了重载,可以直接进行=,!=,==等操作,所以使用非常方便。
    特别是_bstr_t,建议大家使用它。
      

  2.   

    楼上几位回答的非常令小可满意,特别是“飞雪”“同记”
    先谢谢了!我现在马上给分!还有一问,“飞雪”能不能再详述一下VARIANT的和其他相关类型的关系呢?
    (或者干脆把相关知识点和盘托出好了——太贪心了奥)如果需要我另开帖子