已知一个结构体指针 ptr,和偏移量 offset, 怎么样得到 地址为ptr+offset 的内存的内容?
已知一个指针 ptr,和偏移量 offset, 怎么样得到 地址为ptr+offset 的内存的内容?
我写的code 如下:
Offset :DWORD;
strResult : string;
strResult := (ptr[offset])^;
但编译通不过。学艺不精,惭愧,请指教。
[解决办法]
strout传递进来的没有分配内存吗?
strout可以看作是一个特殊的指针。
@strout是指针的地址
@strout[1]是字符串第一个值的地址。
如果是一个空字符串,那么就会出现地址错误。所以先要分配内存,制造一段长度为size的string
strout:=stringofchar(#0,size);
CopyMemory(@strOut[1], ptr, Size);