gpt4 book ai didi

delphi - 将具有空字符的字符串保存到文件

转载 作者:行者123 更新时间:2023-12-03 18:53:56 24 4
gpt4 key购买 nike

我有一个包含空字符的字符串。

我尝试使用以下代码将其保存到文件中:

myStringList.Text := myString;
myStringList.SaveToFile('c:\myfile');


不幸的是,如果源字符串开头有一个空字符,则myStringList.Text为空。

我以为只有C字符串以空字符结尾,而Delphi总是可以的。

如何将字符串的内容保存到文件?

最佳答案

我认为您的意思是“保存其中包含#0个字符的字符串”。

如果是这种情况,请不要尝试将其放在TStringList中。实际上,根本不要尝试将其另存为字符串。就像在C语言中一样,NULL字符(在Delphi中为#0)会导致字符串有时被截断。使用TFileStream并将其直接写为字节内容:

var
FS: TFileStream;
begin
FS := TFileStream.Create('C:\MyFile', fmCreate);
try
FS.Write(myString[1], Length(myString) * SizeOf(Char));
finally
FS.Free;
end;
end;


读回:

var
FS: TFileStream;
begin
FS := TFileStream.Create('C:\MyFile', fmOpenRead);
try
SetLength(MyString, FS.Size);
FS.Read(MyString[1], FS.Size);
finally
FS.Free;
end;
end;

关于delphi - 将具有空字符的字符串保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14543422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com