如何使用dlang读取二进制文件数据

时间:2016-12-14 09:27:36

标签: c++ c struct d

我正在尝试从二进制文件中的特定位置读取结构数据。 发现我可以使用import std.stdio及其File,但我似乎找到的只是字符串处理。

我有二进制文件的c代码写入数据,这些二进制文件由几个不同的结构组成,而且就我所知,编码位于oneliner中。为了找到我需要的特定结构,比如旧c,

  1. 打开文件进行阅读....(二进制读取??)
  2. 使用sizeof并移动到结构数据的开始位置以读取
  3. 将数据(struct.sizeof数据)读入receivebuffer和
  4. 关闭文件
  5. Documentation for std.stdio.File # read谈到读取整个或最大尺寸但无法找到如下所示的c-code行?

    fseek(filehandle, sizeof(firstStructData), SEEK_SET));
    read(filehandle, (char *)nextReceivingBuffer, sizeof(nextReceivingBuffer))
    

    任何想法或提示?

1 个答案:

答案 0 :(得分:0)

尝试File.seekFile.rawRead。它们的工作方式与C语言相似,但rawRead根据您输出的输出缓冲区的大小确定读取计数。