社区
ATL
帖子详情
请教各位达人,一个BSTR类型的字符串截取问题!!!!!!!!!!!!
CH_MARS
2007-02-07 01:00:57
现在想实现Cstring.Mid()的方法
不做数据类型转换
自己手工写个类似Mid(iStart,iEnd)的方法
能否提供下源码给参考下,谢谢了!
...全文
258
6
打赏
收藏
请教各位达人,一个BSTR类型的字符串截取问题!!!!!!!!!!!!
现在想实现Cstring.Mid()的方法 不做数据类型转换 自己手工写个类似Mid(iStart,iEnd)的方法 能否提供下源码给参考下,谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CH_MARS
2007-02-07
打赏
举报
回复
还不完善,需要改进。
CH_MARS
2007-02-07
打赏
举报
回复
我写好了
CComBSTREx CComBSTREx::Mid(long f,long s)
{
int startpoint=f;
int endpoint=s;
wchar_t *buf1=new WCHAR[m_ComBSTR.Length()+1];
if(m_ComBSTR.Length()>0)
{
wcsncpy(buf1,m_ComBSTR+startpoint,endpoint);
buf1[endpoint] = '\0';
}
return buf1;
}
CH_MARS
2007-02-07
打赏
举报
回复
能否写段代码,给参考下,刚介入ATL模式,还不熟悉,谢谢了。
Kudeet
2007-02-07
打赏
举报
回复
SysAllocString分配空间,然后用wcscpy拷贝字符串
wenbaby
2007-02-07
打赏
举报
回复
一种比较简单的方式:
memcpy(result,ori + iStart,(iEnd - iStart) * 2);
result 为结果,需要提前分配内存
ori 为源.
king820802
2007-02-07
打赏
举报
回复
自己写个循环不就行了?
BSTR 是宽字符,前面加个长度而已
BSTR
字符串
类型
(跨编程语言的字符串)
因此
BSTR
实际上就是
一个
COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。 为什么需要
BSTR
COM是一种跨编程语言的平台,需要提供语言无关的数据
类型
。多数编程语言有自己的字符串表示。 ●C
BSTR
字符串
BSTR
是“Basic String”的简称,微软在COM/OLE中定义的标准字符串数据
类型
。 对于VC++,Windows头文件wtypes.h和WinNT.h中定义如下: typedef /* [wire_marshal] */ OLECHAR *
BSTR
; typ
C++
BSTR
数据
类型
BSTR
(Basic string or binary string)是COM 、Automatic、Interop使用的string数据
类型
。在从脚本访问的所有接口中使用
BSTR
。 typedef WCHAR OLECHAR...
BSTR
是
一个
复合性的数据
类型
,其包含长度前缀(length prefi...
_
bstr
_t 与 CString 相互转换 ,
BSTR
宽字符串与CString相互转换
<br />(1)_
bstr
_t 与 CString 相互转换 _
bstr
_t
bstr
; CString strSql;... (2)
BSTR
宽字符串与CString相互转换
BSTR
bstr
; CString strSql;<b
_
bstr
_t
类型
com组件传输字符串有固定的标准,就是
bstr
,这样才能在不同的语言里调用,试想你传的是c的某个字符串
类型
,vb又如何调用呢?ado是个com组件所以传的也是
bstr
,使用_
bstr
_t不但方便接收,而且方便处理。 2.严格地...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章