我想请教兄弟姐妹们:我用AllocMem分配内容后,如何用得到的Pointer类型的指针对已分配内存的每一个字节附值。(只能是逐字节附值,不能整体进行附值)
我用这样的方法:(Pointer+i)^:=2;但不行,好像报的错误是Pointer不能加偏移值.我不知道该怎么做了,望赐教!
我用这样的方法:(Pointer+i)^:=2;但不行,好像报的错误是Pointer不能加偏移值.我不知道该怎么做了,望赐教!
解决方案 »
- 类中的dynamic,abstract和virtual有什么区别?
- 高分求dbgrid导入,导出excel实例
- 看看这个RC文件,能看懂吗
- 怎么在程序的输入框中做到像QQ发消息的输入框效果?
- 问一个delphi中函数声明转换成C++的写法
- 简单问题,字符串我要获取AAA后的部分应该怎么做?字符串: .... AAA 123 ....
- 有如下函数,调用时出错,请帮助,谢谢
- AnsiString?PChar?赋值?转换?(请aiirii(ari)来看一下)
- 简单问题 在先等待
- 150高分帮忙解决一打印问题? POS
- 关于打开对话框的API函数问题
- 请问怎样把TLISTITEM添加到LISTVIEW里面呢?
(PChar(Pointer) + i)^ := 2;或者是Pointer(Integer(Pointer) + i)^ := 2也就是说,强制类型转化为PChar类型,可以实现字节偏移;强制类型转化为Integer也行
并不能够根据一个类型为 Pointer 的指针变量判断出它所指向的对象的大小。
var
p: Pointer
begin
//...
Inc(p); // Error
Inc(PChar(p)); // OK, 地址值增大 SizeOf(Char) 个字节,也就是1个字节
Inc(PByte(p)); // OK, 地址值增大 SizeOf(Char) 个字节,也就是1个字节
Inc(PInteger(p)); // OK, 地址值增大 SizeOf(Integer) 个字节,也就是4个字节
//以此类推
//...
end;