• 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 > 如何把字符串或一块内存数据赋给_variant_t类型?

如何把字符串或一块内存数据赋给_variant_t类型?

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

佚名通过本文主要向大家介绍了variant,大众旅行车variant,variant是什么意思,font variant,variant类型等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何把字符串或一块内存数据赋给 _variant_t类型?
描述:

函数说明为:
HRESULT IDoc::Read ( const _variant_t & PathOrData, const _variant_t & Password )
如何把一个字符串(文件路径, char* filename)或一块内存数据(文件内容,另外有一个长度信息,就是void* data, int length)赋给_variant_t类型。
反过来,如何从_variant_t类型得到一块内存数据(包括长度)。


解决方案1:

point没有初始化?

解决方案2:

初始化的时候就可以阿。
string str = _T("HEHHE");
_variant vt;
vt = str;

解决方案3:

IDocPtr m_doc;//这里最好写成:  IDocPtr m_doc = NULL;

解决方案4:

IDocPtr m_doc;
HRESULT hr = m_doc.CreateInstance(__uuidof(Doc));
if(FAILED(hr))
{
   //看看成功了没有
}
_bstr_t fname(infilename);  // const char* infilename
_variant_t varFName(fname);
ret = m_doc->Read(varFName);   //这里跟进去f11看看到底是varFName的问题还是什么问题进去后看看varFName的值对不对!

解决方案5:

使用CComVariant啊
CComVariant vName("test");
然后再赋值给_variant_t变量

解决方案6:

看起来你没有用_bstr_t?

解决方案7:

很好解决!
这样写:
_bstr_t fname(filename);
_variant_t varFName(fname);
因为_bstr_t可以得到filename的长度通过,fname.length();
_bstr_t是BSTR的封装,它可以记录字符串长度!哈哈!没问题的!
反过来怎么用就不用我说了!

解决方案8:

VT_BSTR
VT_BYREF


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

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

  • 使用VARIANT作为参数时的问题?
  • 怎么把VARIANT类型的数据转换成HIMAGELIST类型啊?
  • 求助:如何取得com组件返回VARIANT类型的返回值?
  • 谁能告诉我CComBstr和CComVariant之间怎么转换,我想把任何变量都转化为BSTR怎么做?
  • VARIANT内存越界
  • 为何用VariantChangeTypeEx将VARIANT时间变量转换为字符串变量只能转换一部分?
  • 急!请教各位大侠,如何在COM组件方法中返回VARIANT或ARRAY?
  • COM定义接口,如何传递COLEVariant类型的参数?
  • _variant_t转换为CString出错
  • _variant_t的=操作符

相关文章

  • 2017-06-05 使用LoadLibrary动态载入的Netapi32dll为什么不行?
  • 2017-06-04 COM组件内,让CEdit响应方向键的输入以及WTL里的LBUTTONDOWN的消息映射问题
  • 2017-06-05 _GetBaseClass与直接用RUNTIME_CLASSbase_class_name的区别
  • 2017-06-05 同一天主机的不同进程间的线程如何通信!
  • 2017-06-05 跪求,怎么才能在创建进程时隐藏该进程的窗口
  • 2017-06-05 为什么我这个代码不能把图片拷贝到我的打印DC上呢,请大家帮忙看看,谢谢了
  • 2017-06-04 在用ATL进行COM编程时,有一点我不明白:文件mtxh具体时干什么用的,这个“mtx”又是代表什么意思,是什么单词的简称?
  • 2017-06-04 为什么进行串口通信时,只能发单一方向的信号
  • 2017-06-05 ShellExecute问题SOS急
  • 2017-06-04 开发DCOM心得

文章分类

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

最近更新的内容

    • 两进程间利用消息机制传送数据,接收数据内容错误问题,请教!
    • 学习COM需要先学习MFC吗?
    • 找一个DIRECTSOUND语音录放音的例子
    • 为什么类型库也需要一个guid并注册?
    • 访问com+服务程序报0x800706D2错
    • 进程与线程有什么不同
    • 如何实现虚窗口?送分了
    • 在DLL中显示窗口,我怎么不行啊?
    • 请教是否可以通过gina在启动时给winlogon注入一个线程?分数不够请提可以再加,本人无未结贴
    • 本人出售大型软件源程序代码

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

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