此问题我已经在论坛里进行了搜索,但是由于我是一个初学者,所以到现在我按照文章里的方法也没有解决我的问题。现在就请哪位能人帮帮我拉!我的问题是:
CString gpibAddress;//gipbAddress的值是通过一个函数返回的。
_bstr_t idn;
现在我想把gpibAddress的值附给idn
我试了如下的方法:(我在论坛里搜索到的解决方法)
BSTR bst;
_bstr_t bstr_t;
bst = SysAllocString(gpibAddress);//搜索里是这样写的SysAllocString(L"GPIB::13")
bstr_t = bst;
SysFreeString(bst);
idn = bstr_t;
如果我要是这样写的话,错误提示是:
C:\Documents and Settings\Administrator\桌面\VC\7\IDN\IdnLib.cpp(52) : error C2664: 'SysAllocString' : cannot convert parameter 1 from 'class CString' to 'const unsigned short *'
如果我要是写成SysAllocString(L"GPIB::13“)的话,程序就没有问题,现在我就是想怎么用SysAllocString(gpibAddress)也能编译成功。

解决方案 »

  1.   

    CString str = "Hello";
    _bstr_t idn = str.AllocSysString();
    AfxMessageBox(idn);
      

  2.   

    CString str = "Hello";
    _bstr_t idn(str.LockBuffer());
    str.UnlockBuffer();
      

  3.   

    CString b;
    _bstr_t a;
    a=(_bstr_t)b;
      

  4.   

    CString b;
    _bstr_t a=(char*)(LPCTSTR)b;
    在你没有定义_UNICODE的时候下是很适用的
      

  5.   

    _bstr_t a;
    a = com_util::ConvertStringToBSTR("数据");///使用前需要加上头文件comutil.h
      

  6.   

    bst = SysAllocString(gpibAddress.GetBuffer(0))
      

  7.   

    CString gpibAddress;//gipbAddress的值是通过一个函数返回的。
    _bstr_t idn;
    现在我想把gpibAddress的值附给idn方法如下:
    idn = gpibAddress.AllocSysString();
    gpiAddress.
      

  8.   

    我按照以上的每一个方法都做了一边,在编译的时候没有错误,但是一但执行后就有了问题!
    我在其他论坛上也问了此问题,他们告诉我用这个T2COLE。
    但是用这个我该怎么处理呢?