一个函数的蚕食类型是 VARIANT*的,像赋值字符串类型的数据 请问如何做
如果把wchar_t*赋值给VARIANT* 如何转换呢

解决方案 »

  1.   


    VARIANT res;
    wchar_t* wt = L"adsd";
    res.vt = VT_BSTR;
    CString cs(wt);
    res.bstrVal = cs.AllocSysString();
      

  2.   

    VARIANT是个结构,其中有个联合类型,有BSTR bstrVal可用。
    http://www.usidcbbs.com/simple/?t1733.html
    这个网页中有wchar_t*转换为BSTR的例子。
      

  3.   

    类型是 VARIANT * res。定义VARIANT res 参数出错
    cannot convert parameter 2 from 'unsigned short *' to 'struct tagVARIANT *'
      

  4.   

    按照您给的网址的转换方法,执行到赋值的地方程序就直接错误了,请问是什么原因呢
    VARIANT *a;
    wchar_t *aaa=L"123123";
    _bstr_t bstrt(aaa);
    bstrt += " (_bstr_t)";
    a->bstrVal=bstrt; //这里程序直接崩溃了
    TheCk(a);
      

  5.   

    wchar_t* wt = L"adsd";
    VARIANT res = _variant_t(wt);
    func(&res);
      

  6.   


    当然崩溃了,都没分配内存
    VARIANT *a = new VARIANT;