gpt4 book ai didi

Delphi读取非文本文件(二进制)

转载 作者:行者123 更新时间:2023-12-03 15:37:47 29 4
gpt4 key购买 nike

在 Delphi 中如何以非文本模式打开二进制文件?类似于 C 函数 fopen(filename,"rb")

最佳答案

有几个选项。

<强>1。使用文件流

var
Stream: TFileStream;
Value: Integer;
....
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Stream.ReadBuffer(Value, SizeOf(Value));//read a 4 byte integer
finally
Stream.Free;
end;

<强>2。使用阅读器

您可以将上述方法与 TBinaryReader 结合起来,以使值的读取更简单:

var
Stream: TFileStream;
Reader: TBinaryReader;
Value: Integer;
....
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Reader := TBinaryReader.Create(Stream);
try
Value := Reader.ReadInteger;
finally
Reader.Free;
end;
finally
Stream.Free;
end;

reader 类有很多读取其他数据类型的函数。您可以使用二进制编写器朝相反的方向前进。

<强>3。旧式 Pascal I/O

您可以声明一个File类型的变量,并使用AssignFileBlockRead等从文件中读取。我真的不推荐这种方法。现代代码和库几乎总是更喜欢流习惯用法,通过自己做同样的事情,您将使您的代码更容易与其他库配合。

关于Delphi读取非文本文件(二进制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13583015/

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