读书人

怎么将一个记录类型指针所指的值复制给

发布时间: 2012-03-21 13:33:15 作者: rapoo

如何将一个记录类型指针所指的值复制给另一个指针?
有一个记录类型:

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^;

读书人网 >.NET

热点推荐