怎么将一个记录类型指针所指的值复制给另一个指针
如何将一个记录类型指针所指的值复制给另一个指针?有一个记录类型:Delphi(Pascal) codepScheduleTask ^Sc
如何将一个记录类型指针所指的值复制给另一个指针?
有一个记录类型:
Delphi(Pascal) code pScheduleTask =^ScheduleTask; ScheduleTask =record ScheduleID : string; ScheduleName : string; Sender : PTerminalUser; Receiver : PTerminalUser; TerminalType :Integer; SerialPort : string; ScriptName : string; Script : string; end;
其中的PTerminalUser是指向另外一种记录类型的指针。
我的程序中有A、B两个pScheduleTask 类型变量,还有一个C,是pointer类型的。已经用New给A、B分配了空间,B中填满了值,并且C:=B。我现在想把C所指向的值复制给A,只是复制指向的值,不想改变A、B的指向,不能用A:=C。
请问该用什么函数啊?
[解决办法]move(pScheduleTask(c)^, A^, sizeOf(ScheduleTask))
[解决办法]写错了 应该是:
move(pScheduleTask(c), A, sizeOf(ScheduleTask))
[解决办法]哈哈,楼上的,后来写的是错的啊!Move函数的参数不是指针,而是解引用的指针,所以一开始写的才是对的
[解决办法]更简单: A^ := B^;