3172|6

65

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

vc2005智能设备程序下使用vc2005非智能设备程序的读取文件代码(没有任何问题)在处理char类型的字节时需要注意那些问题? [复制链接]

          char pbuf[200];
           memset(pbuf, 0, sizeof(pbuf));
          fread.Read(&pFileMem,sizeof(FileMem));//int,int 的结构,没有问题
          fread.Read(pbuf,pFileMem.namecount);  //有问题
          strLayerName.Format(_T("%s"),pbuf);   
          pFileDes.layerType=pFileMem.layerType;
          pFileDes.count=pFileMem.count;
                  pFileDes.strLayerName=strLayerName;
          pLayer.push_back(pFileDes);
                  memset(pbuf, 0, sizeof(pbuf));
   vc2005非智能设备程序的读取文件代码的strLayerName完整的,在vc2005智能设备程序下一堆乱码,如何解决?

最新回复

lz,给一段详细代码,可否?  详情 回复 发表于 2008-6-5 11:30
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 


使用MultiByteToWideChar把char转换成wchar。然后再
strLayerName.Format
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
  WCHAR   wstr[200];
        memset(wstr, 0, sizeof(wstr));
char pbuf[200];
  memset(pbuf, 0, sizeof(pbuf));
          fread.Read(&pFileMem,sizeof(FileMem));//int,int 的结构,没有问题
          fread.Read(pbuf,pFileMem.namecount);  //有问题
          MultiByteToWideChar(10008,0,pbuf,-1,wstr,sizeof(wstr));//
          strLayerName.Format(_T("%s"),wstr);  
          pFileDes.layerType=pFileMem.layerType;
          pFileDes.count=pFileMem.count;
  pFileDes.strLayerName=strLayerName;
          pLayer.push_back(pFileDes);
  memset(pbuf, 0, sizeof(pbuf));
memset(wstr, 0, sizeof(wstr));
还是乱码
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

4
 
::MultiByteToWideChar(CP_ACP, 0, pbuf, -1, wstr, 200);

文件是以char类型保存的吧。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
请你把你的环境说明白一些。

文件以什么格式保存的?

fread.Read(&pFileMem,sizeof(FileMem));//int,int 的结构,没有问题

什么是“int,int 的结构”??
请把结构提供出来。

 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
lz,严重错误,
还是错误,
typedef struct
{
        int      layerType;   //图层类型 10文本,20点,30线,40面
        int      namecount; //图层名称字节数
        int count;   //图层对象数量          
} FileMem; //图层的存储结构
文件是二进制文件
在vc2005非智能设备下使用很好
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
lz,给一段详细代码,可否?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表