2024年4月26日发(作者:)
bstr_t类型到底是类型呢?用的时候也可以直接_bstr_t bstr="abcd";
还可以
_bstr_t bstr="abcd";
CString str=(char *)bstr;//_bstr_t莫非是指针?指针可以赋常量字符串?
我在ADO数据库编程中用如下语句:
CString str=(m_RecordSet->GetCollect("Name")).bstrVal;//m_RecordSet
_RecordsetPtr类型
是
(m_RecordSet->GetCollect("Name")).bstrVal是BSTR类型
说明BSTR可以直接赋给CString类型,从编译器中得知BSTR是unsigned short*类
型,怎么可以直接赋给CString对象呢?
实在不清楚这三个的本质区别,请高手指点!
网友回复:CString str=(char *)bstr;//_bstr_t莫非是指针?指针可以赋常量字符串?
_bstr_t有这几个成员
operator const wchar_t*( ) const throw( );
operator wchar_t*( ) const throw( );
operator const char*( ) const;
operator char*( ) const;
网友回复:我搜集的资料:May this can help you.
7.关于CString和其他一些自动化类型的相互转换问题.
未参考的资源: 在各种字符串类型之间进行转换
/zh-cn/library/
类型类别:CString ,VARIANT,BSTR,_t_btr,等
预备知识:
BSTR:根据MSDN,他的内部结构为:4字节的长度前缀(字节单位),字符串(宽),2字节结
束标志0x0000.平常的BSTR是指向字符串的第一字节,并非前缀.比如定义BSTR
myBstr=L” I am a happy BSTR”,这样其实不正确,并没有正确生成前缀.应该这样: BSTR
MyBstr = SysAllocString(L"I am a happy BSTR");这样就会在内存分配时就会加上前缀
和结束标志.
BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被
描述成一个与自动化相兼容的类型。
发布评论