请打下帮忙,如何让一个pointer类型的指针冲内存中取出一定长度的数据。 (200分)

  • 主题发起人 主题发起人 胖的
  • 开始时间 开始时间

胖的

Unregistered / Unconfirmed
GUEST, unregistred user!
指针转换一直困绕着我,寻求帮助资料。
我要用SOCKET传输各种信息需要打包,可是各种数据结构的指针转换我不会。
 
type
psometype=^Tsometype;
var
p1:psometype;
p2:pointer;
......
p1:=p2;//p1指向p2所指的地址,同时将所指的内存块当sometype类型操作
//这样就‘取出’了sizeof(sometype)长的数据




 
CopyMemory(p1,p2,sizeof(sometype));
查看一下COPYMEMORY的用法
 
我要用SOCKET传输各种信息需要打包,可是各种数据结构的指针转换我不会。
我试过直接赋值不好使,请多指教。
 
指针传过去还能用么?
 
假设你的指针为 a
现在定义一个空间
b:array[0..9] of char
//char 我只是用它来指示按字节给我分配空间
接着用
Move(a, b, 10)
把a指向内存的前10个字节传到b中,现在变成数组了
10 要换成 sizeof(sometype),字符串用Length(strObject)
 
关注[8D]---我不明白。

 
多谢各位
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
回复
0
查看
769
老衲
I
回复
0
查看
694
import
I
I
回复
0
查看
724
import
I
后退
顶部