Как я могу читать двоичный файл по разделам?
Как я могу читать двоичный файл по разделам? (прочтите, перейдите вперед, прочтите еще, ...)
Я попробовал fn (f &File) read_bytes(size int)
функция, но был удивлен, что он всегда читается спереди.
Действительно ли нам нужно повторно реализовать C File
структура (которая V
также повторно реализует) для отслеживания текущей позиции файла?
1 ответ
Вы можете использовать File.read_bytes_at. Следить за позицией нужно самостоятельно:
import os
path :='v.exe'
size :=1024*256
mut f := os.open(path) or {println(err) return}
for pos := 0;; pos += size {
arr := f.read_bytes_at(size, pos)
println(arr.len)
if arr.len == 0 {break}
}
f.close()
Для меня это дает следующий результат:
262144
262144
262144
262144
186094
0