_bstr_t类型(转)
来源:互联网 发布:齐俊杰是不是胡扯 知乎 编辑:程序博客网 时间:2024/05/16 10:58
2009-07-26
_bstr_t类型 - [C++]
http://wangw.blogbus.com/logs/43003776.html
1._bstr_t是个对bstr的类,具体定义可以看comutil.h。
com组件传输字符串有固定的标准,就是bstr,这样才能在不同的语言里调用,试想你传的是c的某个字符串类型,vb又如何调用呢?ado是个com组件所以传的也是bstr,使用_bstr_t不但方便接收,而且方便处理。
com组件传输字符串有固定的标准,就是bstr,这样才能在不同的语言里调用,试想你传的是c的某个字符串类型,vb又如何调用呢?ado是个com组件所以传的也是bstr,使用_bstr_t不但方便接收,而且方便处理。
2.严格地说_bstr_t不属于对bstr的类,它可以直接转换成bstr型,也可以直接转换成普通的char*型
比如
_bstr_t str("sfalkj");//用char*来构造
bstr str1=str;//str1是双字节的
char *str2=str;//str2是单字节的
比如
_bstr_t str("sfalkj");//用char*来构造
bstr str1=str;//str1是双字节的
char *str2=str;//str2是单字节的
3._bstr_t 是一个封装了char*和wchar_t*之间相关的操作,已方便在使用com对象时的字符串操作,也就是说你可以不必关心给_bstr_t对象赋值了什么类型的字符串,或者要与什么类型的字符串相加等操作,它的重载函数会自动选择合适的函数进行操作的。
4.将BSTR或_bstr_t转换为CString
strValue为CString类,
bstrSql为_bstr_t类,bstr2为BSTR
strValue.Format("%s,%s'",(LPCTSTR)bstr1,bstr2);
若bstrSql前面不加LPCTSTR则不能正确赋值,
strValue=bstr2 可将BSTR类型的字符直接赋给CString
而strValue=bstr1 不能将_bstr_t类的字符直接赋给CString
这样strValue=(LPCTSTR)bstr1就可以。
这种赋值方法合不合适。
在COM接口中,参数若为字符串,为什么一定要用BSTR
bstrSql为_bstr_t类,bstr2为BSTR
strValue.Format("%s,%s'",(LPCTSTR)bstr1,bstr2);
若bstrSql前面不加LPCTSTR则不能正确赋值,
strValue=bstr2 可将BSTR类型的字符直接赋给CString
而strValue=bstr1 不能将_bstr_t类的字符直接赋给CString
这样strValue=(LPCTSTR)bstr1就可以。
这种赋值方法合不合适。
在COM接口中,参数若为字符串,为什么一定要用BSTR
BSTR stores an extra word before the string,like this:
0x3abc
^BSTR pointer
so you can use operator LPCTSTR to get the "abc".
0x3abc
^BSTR pointer
so you can use operator LPCTSTR to get the "abc".
- _bstr_t类型(转)
- _bstr_t类型
- BSTR类型跟_bstr_t区别
- CString、char*、string、_bstr_t、CTime、DateTime相互转换(转)
- 类型转换总结(CString 、char*、int、float、_bstr_t、LPCWSTR、LPSTR)
- 类型转换总结(CString 、char*、int、float、_bstr_t、LPCWSTR、LPSTR)
- MFC ADO数据库编程中的_variant_t和_bstr_t类型
- CString、_bstr_t、_variant_t等类型的相互转换
- TCHAR、BSTR、_bstr_t等(未完待续)
- _bstr_t 类型,BSTR类型和CString类型到底有什么区别
- char, BSTR, _bstr_t, CComBSTR之间的互相转换[转]
- _variant_t ,_bstr_t 与 CString 类有什么区别(转) .
- _variant_t _bstr_t
- BSTR,_bstr_t
- _variant_t _bstr_t
- _bstr_t作用
- 未分类--Windows API--_bstr_t::_bstr_t
- BSTR _bstr_t CString char* 的相互转换(转自Codeprojec) 具体网址忘了
- 协议适配器错误和ORA-01017: invalid username/password; logon denied,oracle服务器端和客户端同时安装问题解决
- HELLO CSDN 能发表吗?无聊啊。写个小代码
- SQL2000连local都连不上的原因,这都折腾死我了这些天--诡异!
- C错误检测宏
- jsp中文乱码解决方案
- _bstr_t类型(转)
- SSH框架浅谈
- 日复一日
- HSDPA
- 武林1
- December 16th Wednesday 2009
- ORACLE中搜索字母数字混合的字符串
- Pku1037 A decorative fence 动态规划+递推
- Wholesale Miu Miu Ombré Paillette-Embellished Clutch bags