• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > BSTR怎么转化为unsignedchar?

BSTR怎么转化为unsignedchar?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了bstr,bstr t,bstr是什么类型,bstr转cstring,vt bstr等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: BSTR怎么转化为unsigned char?
描述:

BSTR怎么转化为unsigned char*?
用了很多网上的方法都不行。
诚恳求教,
请高手点拨~


解决方案1:

CComBSTR bstrText(_T("aaaaaaaa"));
unsigned char *nChar;
CString str(bstrText);
nChar = (unsigned char *)str.GetBuffer(str.GetLength());
AfxMessageBox((char *)nChar);
CComBSTR的头文件 #include <atlbase.h>

解决方案2:

//将宽字符转换成单字节字符
BOOL slTransToMultiByteChar(LPCWSTR wStr, char *dst, int maxLenI)
{
   BOOL bOK = FALSE;
   memset(dst, 0, maxLenI);
   int nLen = WideCharToMultiByte(CP_ACP, 0, wStr, -1, NULL, 0, NULL, NULL);
   if( nLen < maxLenI)
   {
      nLen = WideCharToMultiByte(CP_ACP, 0, wStr, -1, dst, nLen, NULL, NULL);
      bOK = (nLen > 0);
   }
   return bOK;
}

解决方案3:

_bstr_t
http://msdn.microsoft.com/en-us/library/zthfhkd6(VS.71).aspx

解决方案4:

首先得搞懂这个BSTR里面到底是什么类型的数据。BSTR里可以存放任意类型的数据,不一定是UNICODE字符串,可以是二进制数据。

解决方案5:


unsinged char szConvert string[64];
WideCharToMultiByte(CP_ACP, 0, bstr, SysStringLen(bstr), string, 64, NULL, NULL);

解决方案6:

char* lpsz = _com_util::ConvertBSTRToString(bstr);
如果这个不行
就要看你的具体问题是什么,可放出关键代码review一下

解决方案7:

如果不是标准的字符串,那你就得先把 bstrTemp向前移四位,可以看看BSTR的结构是怎样的
http://www.vckbase.com/document/viewdoc/?id=1488

解决方案8:

BSTR的前四位表示长度的,如果是一个标准的字符串,而BSTR是一个宽字节字符串来的,可以用如下的方法
unsigned char byTemp[100];
BSTR bstrTemp;
memcpy(byTemp,byTemp,(wcslen(bstrTemp)+1)*2);

解决方案9:

http://www.docin.com/p-2645487.html
这个+1

解决方案10:

http://www.docin.com/p-2645487.html


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一个弱问题,函数需要的参数类型是BSTR&,可以传递CComBSTR的变量吗?多谢多谢
  • BSTR----字符串,紧急求救!!!!再现等待,马上给分!!!!
  • 有关bstr的问题
  • 关于BSTR和CString问题
  • 关于Bstr和ComBstr的相关内容
  • 谁能告诉我CComBstr和CComVariant之间怎么转换,我想把任何变量都转化为BSTR怎么做?
  • CStringA转BSTR的问题
  • 如何将BSTR转化为LPCSTR类型。。急等。。谢谢
  • 得到_bstr_t类型的字符串请问如何取出其中的一段子字符串啊
  • 两个BSTR是用什么函数比较是否一致的?

相关文章

  • 2017-06-04 关于获得窗口坐标的问题
  • 2017-06-04 紧急求助,控件无法下载问题
  • 2017-06-04 请教高手一个问题,新手初学。
  • 2017-06-05 关于线程安全,高手来说说
  • 2017-06-05 你们用什么方法实现线程间通信?
  • 2017-06-05 能不能钩到某个程序所调用的API函数的参数是多少?
  • 2017-06-05 动态连接库跟踪全局变量问题
  • 2017-06-04 MFC工程怎样对文件夹中文件按时间进行排序
  • 2017-06-04 IE编程问题,怎么得到弹出窗口的URL?
  • 2017-06-04 各位高手,我用DELPHI编写MTS程序,怎么老是取不到IObjectContext这个事务环境

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何在Atl中接收自定义消息?
    • 我是新人,想请教下如何去除噪点和不想要的位置呢?谢谢!
    • 用spy++查看一个tab页里面的控件的句柄再不断变化该怎样的到这个确定的句柄或者变动的句柄。请详细解答。我对vc不熟。谢谢大家了
    • ActiveX控件产生窗口的问题
    • 请问一下怎么在界面上加上声音播放
    • ADO+Access如何从Access中把数据读出来,然后用MSChart画出曲线和直方图?
    • =====================这个问题对我来说太难了=========================
    • IE7相关问题
    • ocx控件在网页中自动下载安装
    • 如何将C++源码中的函数编译成支持COM接口的DLL组件供其它语言调用????

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有