如何将CComBSTR的变量转化成CString变量或lpsz变量

 

如何将CComBSTR的变量转化成CString变量或lpsz变量

楼主rosale() 2000-08-18 23:08:00 在 VC/MFC / 基础类 提问

本人编写一COM件,要将客户端发来的BSTR变量组合进SQL语句,SQL语句是lpsz变量,  
   
  因此需转化 问题点数:100、回复次数:4Top

1 楼softsprite(软件精灵)回复于 2000-08-18 23:31:00 得分 30

用VectorFromBstr(   BSTR     bstr,SAFEARRAY   FAR*   FAR*     ppsa)函数将BSTR转换为SafeArray类,再用该类的getString函数取出指定的字符串。  
   
    Top

2 楼zzh()回复于 2000-08-19 08:18:00 得分 30

有两个函数MultiByteToWideChar()和WideCharToMultiByte()可以进行转换,具体用法可以看MSDN。同 时,有两个函数AnsiToUnicode()和UnicodeToAnsi也可以转换字符串,这两个函数可以看Q138813这篇文章Top

3 楼Wingsun(孙春阳)回复于 2000-08-19 09:02:00 得分 40

Convert   char   *   to   BSTR  
  String   *resultWord;  
  *resultWord   =   _com_util::ConvertStringToBSTR(m_Data[i].wordForLang2);  
  Convert   BSTR   to   char   *  
  char   *pFileName   =   _com_util::ConvertBSTRToString(filename);Top

4 楼Sunlet(大赢家)回复于 2001-01-09 09:53:00 得分 0

呵呵,自己编写一个函数来处理:  
  void   inline   BR_TO_CSTRING(   BSTR   bst,CString&   cst)  
  {  
  DWORD   len=*((DWORD*)bst-1);  
  for(UINT   i=0;i<len;i+=2)    
    cst+=*(char*)((BYTE*)bst+i);  
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值