在ATL COM 里我选择不支持MFC以后,想问一下,怎样把BSTR 类型转换成CHAR *类型,怎样把CHAR * 或CHR 转化成BSTR *类型。虽然我强行转化

gpwolf 2000-01-31 02:57:00
在ATL COM 里我选择不支持MFC以后,想问一下,怎样把BSTR 类型转换成CHAR *类型,怎样把CHAR * 或CHR 转化成BSTR *类型。虽然我强行转化编译可以通过,但运行过程报内存写错误,(如果是MFC的话可以先转化成CSTRING 型,在转化成CHAR *)
...全文
185 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
logincao 2001-03-12
  • 打赏
  • 举报
回复
char *ToChar(BSTR str)
{
static char retbuf[1024];
memset(retbuf,0,1024);
WideCharToMultiByte(CP_ACP,0,str,wcslen(str),retbuf,1024,FALSE,NULL);
return retbuf;
}

WCHAR* ToWChar(char * str)
{
static WCHAR retbuf[1024];
wcsset(retbuf,0);
MultiByteToWideChar(CP_ACP,0,str,strlen(str),retbuf,1024);
return retbuf;
}
jwfly 2000-02-03
  • 打赏
  • 举报
回复
你应该加上#include <comutil.h>,在MSDN的搜索中可以找到_com_util::ConvertBSTRToString
jwfly 2000-02-03
  • 打赏
  • 举报
回复
你应该加上#include <comutil.h>,在MSDN
gpwolf 2000-02-01
  • 打赏
  • 举报
回复
F
gpwolf 2000-02-01
  • 打赏
  • 举报
回复
f
WHQ 2000-01-31
  • 打赏
  • 举报
回复
用_com_util::ConvertBSTRToString,但返回的指向字符串的内存需要你来删除

3,245

社区成员

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

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