The*_*oon 3 delphi reverse byte pointers
我一直在尝试编写一个带有两个指针(输入和输出)的函数,并以相反的顺序将输入中的字节写入输出.到目前为止,我还没能使它正常工作.
procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
var
Index: Integer;
begin
Move(Pointer(LongInt(Source) + Index)^, Pointer(LongInt(Dest) + (Size - Index))^ , 1);
end;
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议一个更好的方法来做到这一点.
谢谢.
procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
begin
Dest := PByte( NativeUInt(Dest) + Size - 1);
while (Size > 0) do
begin
PByte(Dest)^ := PByte(Source)^;
Inc(PByte(Source));
Dec(PByte(Dest));
Dec(Size);
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2054 次 |
| 最近记录: |