如何将CComBSTR的变量转化成CString变量或lpsz变量
本人编写一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);
}