CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

大侠帮忙:如何实现将void*类型的数据转换为CString类型?顶者有分

楼主priscill(priscill)2004-07-01 11:44:09 在 VC/MFC / 基础类 提问

系统执行时,调用扫描仪,通过API返回一个void*的指向文件影像的指针类型,我想问的是如何将此void*   类型转换为CString类型?  
   
  如果不可以,那如何将BYTE*类型转换为CString类型呢?  
   
  大家帮帮我,这个问题折腾我几天了 问题点数:100、回复次数:25Top

1 楼ginger(似水流年)回复于 2004-07-01 11:47:49 得分 2

markTop

2 楼gufengduyu(孤独的呆呆龙)回复于 2004-07-01 11:48:04 得分 5

extern   BYTE   *a;  
  CString   str(a);Top

3 楼roger_ding(海天一色)回复于 2004-07-01 11:49:59 得分 10

如果你的void*的确指向字符串,可以强制转换  
   
  void*   lpvoid;  
  CString   string((LPCTSTR)   lpvoid);Top

4 楼jyc_nj(老蔣)回复于 2004-07-01 11:50:43 得分 20

"void*的指向文件影像的指针类型"   ?  
  void*   指向的是图像?   那可不能直接转成CString,   涉及到位图处理,字符识别的问题.Top

5 楼tangshiping(苇舞)回复于 2004-07-01 11:51:40 得分 5

同意楼上。  
  但是楼主注意前提啊,呵呵:你的void*的确指向字符Top

6 楼happyparrot(快乐鹦鹉)回复于 2004-07-01 11:52:16 得分 5

CString   str;  
  void   *p;  
  str.Format("%s",(char*)p);Top

7 楼xdljf(hunter)回复于 2004-07-01 11:53:09 得分 10

CString   ss;  
  BYTE   bb[10];  
  ss.Format("%s",(char*)bb);  
  Top

8 楼tianjieshui(天接水)回复于 2004-07-01 11:55:49 得分 5

强制转换成char的数组   然后format不管他是不是字符串   不过很大程度是乱码Top

9 楼dhbo(沉默的石头)回复于 2004-07-01 12:32:19 得分 2

转化成char   *   可能比较好  
  Top

10 楼lbzq(longbow)回复于 2004-07-01 12:40:54 得分 2

upTop

11 楼priscill(priscill)回复于 2004-07-01 12:45:49 得分 0

如果我void*指向的是一个图像,那么我应该把它转换成什么类型的数据,封装成COM,作为接口的返回值,供C#程序调用呢?Top

12 楼xiaoqiqixiao(七七)回复于 2004-07-01 13:13:15 得分 2

楼主是不是想要文字识别,OCR啊Top

13 楼sailor_2002(我心依旧)回复于 2004-07-01 14:04:22 得分 2

void   *转CString  
  void   *a;  
  b   =   (char   *)a;  
   
  Top

14 楼jyc_nj(老蔣)回复于 2004-07-01 14:05:54 得分 10

楼主大概是想把void*指向的内存区里的东东,   传到其他调用进程里吧.  
  不管是字串,还是图形数据.?Top

15 楼priscill(priscill)回复于 2004-07-01 18:08:32 得分 0

jyc_nj(老蔣)   :  
  还是你了解我的意图啊,感激涕零。。。  
   
  在void*里指向的是内存区里的文件影像,我想在COM封装的接口中将此影像传给c#程序供调用,现在的问题是我不知道该把COM中的void*类型封装成什么返回类型,COM是用Visual   C++开发的Top

16 楼priscill(priscill)回复于 2004-07-02 08:19:23 得分 0

各位大侠,来发表一下你们的见解啊Top

17 楼nkwesley(江南丝竹)回复于 2004-07-02 08:21:45 得分 2

关注一下Top

18 楼bluwindhrt(风一飞)回复于 2004-07-02 08:36:26 得分 5

把文件影像封装成CString类型是不好的选择,因为CString事实上仍只是封装了以'\0'结束的字符串。没办法的话,楼主不妨自己建一个类似CString的类,封装BYTE型的动态数组,并注意有成员标识该数组的大小——根据需要,这个类可以很简单,但需要重载其=操作符并实现拷贝构造函数。Top

19 楼haizhiyu(海之鱼)回复于 2004-07-02 08:58:10 得分 5

用VARIANT传递,任何语言都可以使用  
  Top

20 楼priscill(priscill)回复于 2004-07-02 12:41:57 得分 0

bluwindhrt(蓝风)   :  
   
  有例子吗?或者简单地说明一下如何实现?  
   
  haizhiyu(海之鱼)   :  
  如何用VARIANT转换呢?有没有相应的例子吗?Top

21 楼zhangnanonnet(鱼欢)回复于 2004-07-02 14:06:56 得分 2

我顶。。。。Top

22 楼bluwindhrt(风一飞)回复于 2004-07-08 00:13:33 得分 2

记起来了,有现成的类可以用呢:CByteArray,去看看MSDN吧!Top

23 楼jyc_nj(老蔣)回复于 2004-07-08 14:06:11 得分 2

你的COM是在同一进程中使用么?  
  觉得同一进程中的话,   直接传地址进去,虽不规范但好象也不会错.  
  不同进程就麻烦了.看有没有人能指点一下.Top

24 楼gunj(三生万物(我以我血荐轩辕))回复于 2004-07-08 14:09:32 得分 1

我顶......混点分撒Top

25 楼sybook(挣钱养老婆孩子)回复于 2004-07-08 15:44:54 得分 1

CString   str;  
  void   *p;  
  str.Format("%s",(char*)p);  
  Top

相关问题

  • CString类型转换
  • 类型转换 unsigned int <==>CString
  • CString 的类型转换?
  • 类型转换,CString to wchar_t ,一定全送!!!
  • 如何把int 转换成 cstring类型
  • 如何将CString转换为VARIANT类型?
  • CString类型怎样转换成unsigned char *
  • 数据类型转换(CString to double)
  • 如何把CString转换为CTime类型?
  • CString类型如何转换成float型

关键词

  • c#
  • 转换
  • 影像
  • 数据
  • 文件
  • 类型
  • 封装
  • 指向
  • cstring
  • 调用

得分解答快速导航

  • 帖主:priscill
  • ginger
  • gufengduyu
  • roger_ding
  • jyc_nj
  • tangshiping
  • happyparrot
  • xdljf
  • tianjieshui
  • dhbo
  • lbzq
  • xiaoqiqixiao
  • sailor_2002
  • jyc_nj
  • nkwesley
  • bluwindhrt
  • haizhiyu
  • zhangnanonnet
  • bluwindhrt
  • jyc_nj
  • gunj
  • sybook

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo