请教各位达人,一个BSTR类型的字符串截取问题!!!!!!!!!!!! 现在想实现Cstring.Mid()的方法不做数据类型转换自己手工写个类似Mid(iStart,iEnd)的方法能否提供下源码给参考下,谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己写个循环不就行了?BSTR 是宽字符,前面加个长度而已 一种比较简单的方式:memcpy(result,ori + iStart,(iEnd - iStart) * 2);result 为结果,需要提前分配内存ori 为源. SysAllocString分配空间,然后用wcscpy拷贝字符串 能否写段代码,给参考下,刚介入ATL模式,还不熟悉,谢谢了。 我写好了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; } 为什么我换肤以后 建立的非模态对话框 会自动消失 [求助]SDK入门问题:主窗口与子窗口的区别 有谁用VC写过VB的插件吗? 无法编译例程 关于vb下使用COM的问题,请解答; CoCreateInstanceEx 使用(100分) 高分请教-----用什么实现FTP服务器 各位大神,求救通过Windows客户端设置Linux服务器的网络相关信息? MFC中ShellExecute函数求解 请问各位老大,你们编程打草稿吗? 问一个问题.,点击一个button 怎么打开一个ie. 如何通過ADSI 取得 IIS 各個節點的屬性
BSTR 是宽字符,前面加个长度而已
memcpy(result,ori + iStart,(iEnd - iStart) * 2);
result 为结果,需要提前分配内存
ori 为源.
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;
}