在 Delphi 10.4.2 中,当我使用 TWriter.WriteString 时,会保存两个额外的字节:
var
FileStream: TFileStream;
Writer: TWriter;
begin
FileStream := TFileStream.Create('stream.txt', fmCreate or fmOpenWrite or fmShareDenyNone);
Writer := TWriter.Create(FileStream, $FF);
try
Writer.WriteString('2');
finally
Writer.Free;
FileStream.free;
end
end;
Run Code Online (Sandbox Code Playgroud)
这两个字节是什么?我怎么能忽略它们?
这是由TWriter.WriteString. 可能您的用例不是正确的。
第一个字节 ($06) 是值类型(TValueType.vaString用于您的代码)。第二个字节是字符串的长度(1 个字节)。
您可以在 Embarcadero 提供的源代码中的文件中找到所有这些信息System.Classes.pas。
你不能忽视它们。也许您可以TStream.Write在没有额外负载的情况下编写字符串?
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |