如何将非null终止的char数组转换为字符串?

sev*_*ven 3 delphi string

我有一个函数,它接受一系列char的指针.我希望从那一点复制256个字符,并将它们放在一个字符串中.

msg不以空值终止.

下面的代码似乎给了我一些问题.有没有正确的方法来做到这一点?

Init( msg: PCHAR)
var
 myStr: String;
begin
 for i:= 1 to 256 do
 begin
  myStr[i] := msg[i-1]; 
 end;
end;
Run Code Online (Sandbox Code Playgroud)