Delphi 将string 转为 Array of AnsiChar


Delphi 将string 转为 Array of AnsiChar的简单方法如下:

procedure TMainForm.BitBtn7Click(Sender: TObject);
var
 Str:string;
 SN: Array [0..7] of AnsiChar;
 PC:PChar;
 I:Integer;
begin
  Str := '66778899';
  PC :=PChar(Str);
  for I := 0 to Length(Str) - 1 do
  begin
    SN[I] := AnsiChar(PC[I]);
  end;
end;

即先将string转为PChar,再通过循环将PChar转为Array of AnsiChar。
或者如下:

procedure TMainForm.BitBtn7Click(Sender: TObject);
var
 Str:string;
 SN: Array [0..7] of AnsiChar;
 I:Integer;
begin
  Str := '66778899';
  for I := 0 to Length(Str) - 1 do
  begin
    SN[I] := AnsiChar(Str[I+1]);
  end;
end;
因为string是从下标1开始的。



你可能感兴趣的:(String,Delphi)