CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

Copymemory使用出错!急,在线等候

楼主victorhwa(wah)2006-06-02 12:56:48 在 VB / 基础类 提问

我在程序中定义Type   fstatus  
      portno   As   Integer  
      frame1   As   Byte  
      frame2   As   Byte  
      nid   As   Byte  
      framed   As   Byte  
      shour   As   Byte  
      sminute   As   Byte  
      ssecond   As   Byte  
      syear   As   Integer  
      smonth   As   Byte  
      sday   As   Byte  
      resultofselftext   As   Integer  
      threshold   As   Integer  
      tcr   As   Single  
      longitude   As   Single  
      latuitude   As   Single  
      dop   As   Single  
      frequency   As   Integer  
      checksum   As   Byte  
      frame3   As   Byte  
      frame4   As   Byte  
  End   Type类型  
  winsock编程,要将接受道的二进制串读到该类型  
  udp.GetData   bt,   vbArray   +   vbByte     'bt()   as   byte  
  CopyMemory(fs,   bt(0),   Len(fs))     ‘fs   as   fstatus  
  使用后显示fs的各项从syear后显示不正常,我接受的二进制创的格式按照这种类型定义的。为什么?  
  但是,我把读到的船保存到二进制文件,在按照字节顺序度有正常。  
  问题点数:20、回复次数:3Top

1 楼victorhwa(wah)回复于 2006-06-02 13:03:09 得分 0

本来syear=2006,两个字节为214   、7,但是读的结果1543,导致后面全错。Top

2 楼viena(维也纳N02)回复于 2006-06-02 13:04:40 得分 0

ByRef   bt(0)Top

3 楼quansui(叶子)回复于 2006-07-27 09:11:47 得分 0

给你传结构的系统内存管理可能与接收的不同,syear前的数据在内存中占的空间应是4的倍数,你现在的结构是11字节。Top

相关问题

关键词

得分解答快速导航

  • 帖主:victorhwa

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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