如何使用dlang读取二进制文件数据
how to read binary file data using dlang
我正在尝试从二进制文件中的特定位置读取结构数据。
发现我可以使用 import std.stdio 及其文件,但是我似乎发现的都是关于字符串处理的。
我在二进制文件上用 C 代码编写了数据,这些文件由几个不同的结构组成,据我所知,它们都在一个单行文件中。为了找到我需要的特定结构,就像在旧 c 中一样,
- 打开文件进行读取....(二进制读取??)
- 使用 sizeof 并移动到要读取的结构数据的起始位置
- 将数据(struct.sizeof数据)读入receivingbuffer并
- 关闭文件
Documentation for std.stdio.File # read 谈论读取整个或最大尺寸但找不到如何读取如下 c 代码行?
fseek(filehandle, sizeof(firstStructData), SEEK_SET));
read(filehandle, (char *)nextReceivingBuffer, sizeof(nextReceivingBuffer))
有什么想法或提示吗?
尝试File.seek
and File.rawRead
。它们的工作方式与 C 语言类似,但 rawRead
根据您交给它的输出缓冲区的大小确定读取计数。
我正在尝试从二进制文件中的特定位置读取结构数据。 发现我可以使用 import std.stdio 及其文件,但是我似乎发现的都是关于字符串处理的。
我在二进制文件上用 C 代码编写了数据,这些文件由几个不同的结构组成,据我所知,它们都在一个单行文件中。为了找到我需要的特定结构,就像在旧 c 中一样,
- 打开文件进行读取....(二进制读取??)
- 使用 sizeof 并移动到要读取的结构数据的起始位置
- 将数据(struct.sizeof数据)读入receivingbuffer并
- 关闭文件
Documentation for std.stdio.File # read 谈论读取整个或最大尺寸但找不到如何读取如下 c 代码行?
fseek(filehandle, sizeof(firstStructData), SEEK_SET));
read(filehandle, (char *)nextReceivingBuffer, sizeof(nextReceivingBuffer))
有什么想法或提示吗?
尝试File.seek
and File.rawRead
。它们的工作方式与 C 语言类似,但 rawRead
根据您交给它的输出缓冲区的大小确定读取计数。