Delphi 将string 转为 Array of AnsiChar

2018-10-30

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开始的。

阅读79