关于BSTR类
BSTR类型的实质是指向一个带长度前缀的OLECHAR字符数组的指针。
BSTR是指针数据类型。它指向数组的第一个字符,长度是以整数存储的数据中紧接第一个字符前面的位置。
原创
2015-12-29 23:22:02
2708阅读
在我写的谈ATL(四)--VARIANT和CComVariant中详细分析了VARAINT类型的本质,并详细说明了CComVariant为什么可以完全替代VARAINT的理由,下面我打算把BSTR和CComBSTR也详细的说明一下,不过与VARAINT和CComVariant的关系不同的是,CComVariant是VARAINT的子类,在传递参数时,利用的是子类对象is-a父类的概念。BSTR和CComBSTR是不是也是这种关系呢?不是的!我们先来看看BSTR的定义:
原创
2015-12-29 23:27:42
1920阅读
1.1Programming with CComBSTR1.1.1概述CComBSTR是ATL提供的BSTR包装类,是VC 6中提供的最完善的BSTR wrapper。就像MFC CString提供了对TCHAR的封装,CComBSTR提供了对BSTR的封装。Table1CComBSTR Methods列出了CComBSTR的主要方法。Table1CComBSTR Methods
CComBSTR
用 CComBSTR 进行编程Visual Studio .NET 20033(共 3)对本文的评价是有帮助-评价此主题ATL 类CComBSTR提供对BSTR数据类型的包装。尽管CComBSTR是一个有用的工具,但有一些情况需要特别小心。转换问题范围问题显式释放 CComBSTR 对象在循环中使用 CComBSTR 对象内存泄漏问题转换问题虽然一些CComBSTR方法自动将 ANSI 字符串参数转换为 Unicode,但这些方法总是返回 Unicode 格式的字符串。若要将输出字符串转换回 ANSI,请使用 ATL 转换类。有关 ATL 转换类的更多信息,请参见ATL 和 MFC 字符串转换
转载
2013-12-06 15:09:00
77阅读
2评论
完整代码就不贴出了,关键性代码如下(C代码):
CComBSTR domain(100);
CComPtr<IHTMLElement> htmBody;
CComPtr<IDispatch> bodyChildren;
CComPtr<IHTML
原创
2011-05-19 23:36:47
962阅读
写文件: CString szFilter1 = _T("导出路径文件(*.txt)|*.txt;|所有文件(*.*)|*.*||"); CFileDialog dlg(FALSE, _T(".txt"), NULL, OFN_CREATEPROMPT|OFN_OVERWRITEPROMPT,szFilter1); if (dlg.DoModal()==IDOK) { CComBSTR str=
转载
2011-05-12 15:16:00
99阅读
2评论
转自C++ 字符串类型转换(Char *、Wchar_t*、_bstr_t、CComBSTR、CString、Basic_string 和 System.String)在C++中经常涉及字符串类型转换,VC++里面尤其严重,实在搞不通微软为什么要搞这么多的字符串类型,实在是纠结,这里做一个简单的小总结:从 char * 转换示例说明此示例演示如何从char *转换为上面列出的其他字符串类型。// convert_from_char.cpp// compile with /clr /link comsuppw.lib#include#include#include#include"at
转载
2013-12-06 15:39:00
110阅读
2评论
本主题演示如何将各种 C++ 字符串类型转换为其他字符串。可以转换的字符串类型包括 char *、wchar_t*、_bstr_t、CComBSTR、CString、basic_string 和 System.String。在所有情况下,在将字符串转换为新类型时,都会创建字符串的副本。对新字符串进行的任何更改都不会影响原始字符串,反之亦然。从 char * 转换示例说明此示例演示如何从 char * 转换为上面列出的其他字符串类型。// convert_from_char.cpp// compile with /clr /link comsuppw.lib#include <iostre
转载
2006-07-30 22:58:00
81阅读