Задать вопрос
@Mercury13
Программист на «си с крестами» и не только

Существует ли библиотека Zip с потоковой записью?

Нужна библиотека ZIP с такими особенностями.
• Не нужна модификация файлов. Только создание с нуля, чтение и добавление.
• Не нужно шифрование.
• Нужны чтение и запись по потоковому принципу (можно без seek). То есть чтобы библиотека начала сжимать, нам не нужен файл, полностью подготовленный в памяти. Мы просто пишем в сжатый файл функциями типа fwrite — а она автоматически буферизирует и сжимает.

Пока попробовал libzip, и там всего этого нет. К тому же из-за необычных оптимизаций одну из функций libzip (добавить в архив файл, состоящий из нескольких буферов) сложно обернуть в Си++.

Для чего? — Прямая запись огромных XLSX. Разжатые XML могут занимать и сотни мегабайт.
  • Вопрос задан
  • 255 просмотров
Подписаться 2 Средний 2 комментария
Решения вопроса 1
@Mercury13 Автор вопроса
Программист на «си с крестами» и не только
В конце концов перешёл на собственный порт MiniZip.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Само сжатие делает zlib, оно потоковое.
Остается только формировать структуру файла ZIP, это вполне можно делать "на лету".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы