2016-12-14 102 views
0

我想從二進制文件中的特定位置讀取結構數據。 發現我可以使用導入std.stdio及其文件,但是我似乎發現所有關於字符串處理。如何使用dlang讀取二進制文件數據

我有c代碼寫在二進制文件的數據組成的幾個不同的結構,他們都,據我瞭解編碼奠定在一個oneliner。爲了找到特定的結構,我需要,像老C,讀取

  1. 打開文件...(二進制讀?)
  2. 使用的sizeof並移動到結構數據的指定startPosition閱讀
  3. 讀取數據(struct.sizeof數據)到receivingbuffer和
  4. 關閉文件

Documentation for std.stdio.File # read會談有關讀取整個或最多大小,但無法找到如何如下C代碼讀取線?

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

任何想法或提示?

回答

0

嘗試File.seekFile.rawRead。它們的工作方式與C相同,但是rawRead根據您輸出的緩衝區大小確定讀取計數。

+0

謝謝rcorre,這是訣竅。至少在這一點上,現在我繼續投射數據......並且玩我的新代碼;) –