VC中ActiveX控件的属性无字符型,如何将BSTR转化为Char*,我已转化了英文,中文怎么办呢?

hangs2000 2000-08-19 09:50:00
...全文
261 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
louis40 2000-08-28
  • 打赏
  • 举报
回复
可以用_bstr_t类做如下修改:

USES_CONVERSION;
CComBSTR bstr("测试");
_TCHAR buffer[128];

_bstr_t tmpbstr((BSTR)bstr, FALSE);

wsprintf(buffer,_T("%s"),(LPCTSTR)tmpbstr));
::MessageBox(NULL,buffer,_T(""),MB_OK);
zcheny 2000-08-26
  • 打赏
  • 举报
回复
四个函数可以使用,
两个Win32API函数:
MultiByteToWideChar
WideByteToMultiByte
两个C运行库函数:
mbstowcs
wcstombs
在MSDN中有例子。
dyw 2000-08-26
  • 打赏
  • 举报
回复
代码如下:
USES_CONVERSION;
CComBSTR bstr("测试");
_TCHAR buffer[128];
wsprintf(buffer,_T("%s"),OLE2A(bstr));
::MessageBox(NULL,buffer,_T(""),MB_OK);

3,245

社区成员

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

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