Zip каталог в C ++ - PullRequest
       101

Zip каталог в C ++

1 голос
/ 26 апреля 2011

Как мне заархивировать каталог в C ++.Я прочитал этот вопрос: Как мне заархивировать каталог файлов с помощью C ++? Но я бы предпочел способ, который использует что-то вроде gzip, zlib и boost (потому что я не хочудобавить новые библиотеки в проект).Winapi-способ также приемлем (если он существует).И я не хочу начинать новый процесс.

Мне нужен пример кода.Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Вы хотите zip, но не хотите использовать какие-либо библиотеки?

Хотите ли вы быть связанным конкретной лицензией - если это так, просто скопируйте весь код из zlib и надстройки zip в свой собственный код.

Если вы не можете использовать их лицензию, тогда получите спецификации и напишите свою собственную реализацию чистой комнаты - убедитесь, что вы еще не видели базу zlib или zip-кода.

Другой альтернативой является объединение свободно доступного клиента командной строки zip и вызов его с помощью вызова system ()

edit: если вы имеете в виду, что вы уже используете zlib, то minizip выполняет работу с каталогом - обычно он входит в zlib в каталоге contrib

1 голос
/ 26 апреля 2011

Вы можете использовать boost iostream, который включает функции сжатия.Посмотрите на документацию здесь: http://www.boost.org/doc/libs/1_46_1/libs/iostreams/doc/index.html

Кажется, что на самом деле в этом случае это не будет работать для каталога файлов.

...