Also eigentlich sollte das gehen. Aber jetzt kommt das Aber. Ohne auszuprobieren, ein Ansistring, das ist der 8-Bit String, ist meiner Kenntnis nach Nullterminiert.
Nicht ganz – ein AnsiString kann zumindest auch das speichern, was hinter einem #0 ist, anders als ein PChar.
Zum Beispiel funktioniert das (
Quelle) sehr wohl:
Delphi-Quellcode:
var
s: string;
begin
s := 'experts-exchange'+ #0 + 'is great';
while (pos(#0, s) > 0) do s[pos(#0, s)] := ' ';
ShowMessage(s);
end;