Как оценить прогресс распаковки файла bzip2 с помощью функции C?
Я мог бы использовать функцию gzoffset в zlib, чтобы оценить оставшийся размер несжатого файла. Есть ли подобная функция в библиотеке bzip2? Если нет, могу ли я использовать какой-нибудь трюк?
1 ответ
Решение
Просто отслеживать количество сжатых данных, потребляемых. Когда вы обработали хх% сжатых данных, вы сгенерировали примерно хх% несжатых данных.
gzoffset()
ничего не говорит вам об оставшемся несжатом размере файла. Он только говорит вам, сколько байтов вы распаковали до сих пор. Вы можете получить это, просто посчитав, сколько байтов вы распаковали.