将byte数组的内容转换成BSTR类型

tccqs 2008-05-06 01:25:31
RT
...全文
212 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yongqiangyue 2012-08-07
  • 打赏
  • 举报
回复
上述三个方案会发生数据截断问题
jameshooo 2008-05-06
  • 打赏
  • 举报
回复
方案1:
_bstr_t str = (char*)byteArray;
str.GetBSTR()

方案2:
CComVariant var = (char*)byteArray;
BSTR bstr = var.bstrVal;

方案3:
USES_CONVERSION;
BSTR bstr = A2BSTR((char*)byteArray);
ouhaochuan 2008-05-06
  • 打赏
  • 举报
回复
#include <cstringt.h>
然后使用2楼代码试试
tccqs 2008-05-06
  • 打赏
  • 举报
回复
error C2664: 'SysAllocString' : cannot convert parameter 1 from 'unsigned char [10]' to 'const unsigned short *'
ouhaochuan 2008-05-06
  • 打赏
  • 举报
回复
BYTE b[10];
memset(b, 0, 10);

BSTR bs = ::SysAllocString(b);

.......

::SysFreeString(bs);
tccqs 2008-05-06
  • 打赏
  • 举报
回复
我的不支持MFC的,,所以CString不能用
ouhaochuan 2008-05-06
  • 打赏
  • 举报
回复
BYTE b[10];
memset(b, 0, 10);

CString s = b;
BSTR bs = s.SysAllocString();

.......

::SysFreeString(bs);
ouyh12345 2008-05-06
  • 打赏
  • 举报
回复
先memcpy到一个char *,再转换成BSTR

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧