Copymemory使用出错!急,在线等候
我在程序中定义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




