Delphi Reverse order of bytes

前端 未结 2 541
暖寄归人
暖寄归人 2021-01-20 03:10

I have been trying to write a function that takes two pointers (an input and an output) and writes the bytes from the input into the output in reverse order. So far I have

2条回答
  •  醉梦人生
    2021-01-20 03:53

    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;
    

提交回复
热议问题