CopyMemory Move使用笔记

今天群里有人问函数使用问题,我就自己测试一下,顺便学习一下。

uses math;

procedure TForm2.Button1Click(Sender: TObject);
type
  TTArrayByte= array of Byte;
var
  FSource: PAnsiChar;
  FArrayByte:TTArrayByte;
  FSourceLenth: Integer;
  HexStr: string;
begin
  FSource := '123';
  FSourceLenth := Length(FSource);////string=PChar=PWideChar 单个汉字取出长度为1
  SetLength(FArrayByte, FSourceLenth);
  //CopyMemory(@FArrayByte[0], FSource, FSourceLenth);
  //Move(FSource,FArrayByte[0],Min(FSourceLenth,8));

  FArrayByte[0]:=99;
  Move(FSource[1],FArrayByte[1],Min(FSourceLenth,2));

  HexStr := '';
  for FSourceLenth := 0 to FSourceLenth do
  begin
    HexStr := HexStr + inttoHex(FArrayByte[FSourceLenth], 2);
  end;
  ShowMessage(HexStr);

  ShowMessage(PAnsiChar(FArrayByte));
end;

 CopyMemory(数组值地址,数组值地址,长度)

原文地址:https://www.cnblogs.com/ZhouXiHong/p/4420076.html