#c #gzip #zlib
#c #gzip #zlib
Вопрос:
У меня следующая проблема: я использую zlib в C для архивирования файлов. Сжатие (с использованием z_stream
, deflateInit2
…) не является проблемой, но мне нужно знать размер файла gziped, прежде чем я его сжимаю. Возможно ли это или это единственный вариант, который я должен подсчитывать байты при сжатии? Заранее спасибо!
Комментарии:
1. Зачем вам нужно знать сжатый размер перед сжатием?
Ответ №1:
но мне нужно знать размер файла gziped перед его сжатием
Если вы имеете в виду, что вам нужно его сжать (возможно, для выделения буфера для хранения данных), то вы ошибаетесь, весь смысл z_stream
в том, чтобы позволить вам сжимать входные фрагменты в выходные фрагменты.
это единственный вариант, который я должен подсчитывать байты при сжатии
Да, вам нужно применить алгоритм сжатия, чтобы узнать результирующий размер.