C API с открытым исходным кодом для форматов файлов сжатия
Библиотека C для чтения/записи потоковых архивов в форматах TAR, ZIP, 7-ZIP, CPIO, PAX и ISO.
Libarchive — это библиотека C с открытым исходным кодом, которая позволяет разработчикам программного обеспечения читать и записывать потоковые архивы в различных форматах, таких как образы TAR, ZIP, 7-ZIP, CPIO, PAX и ISO9660. Самое замечательное в Libarchive то, что он очень модульный. С самого начала он был разработан таким образом, чтобы добавлять новые форматы архивов было очень просто по сравнению с другими библиотеками.
Libarchive поддерживает чтение и запись нескольких популярных форматов сжатия файлов. Он читает несколько популярных форматов, таких как TAR, ZIP, 7-ZIP, CPIO, PAX, RAR, XAR, LHA, AR, CAB, MTREE и образы ISO. Он также обеспечивает поддержку записи для популярных форматов, таких как архивы TAR, ZIP, ISO, XAR, PAX, CPIO, AR, MTREE и SHAR.
Начало работы с Либархив
Дистрибутив libarchive содержит стандартный скрипт «configure», сгенерированный Autoconf, который можно использовать для установки libarchive, bsdtar и bsdcpio практически на любой POSIX-подобной системе.
Типовой код установки приведен ниже
Вот команда
$ tar xzf libarchive-2.7.0.tar.gz
$ cd libarchive-2.7.0
$ ./configure
$ make
$ make check
$ make install
Вы также можете использовать утилиту cmake для создания файлов конфигурации для различных IDE, таких как Visual Studio в Windows и XCode в Mac OS. Помните, что его можно использовать с libarchive 2.6.990a или более поздней версии. Сначала вам нужно будет получить и установить соответствующую версию инструмента cmake для вашей платформы.
Использовать автоматический детектор формата
Libarchive использует автоматический детектор формата при чтении архивов. Он использует внутренний процесс «торгов», который проверяет входящие данные с использованием нескольких модулей. Детектор автоматически обрабатывает архивы, сжатые с помощью Tar, Gzip, Bzip2 и многих других популярных алгоритмов сжатия.
Запись файлов в сжатый TAR-архив
Libarchive позволяет разработчикам программного обеспечения записывать группу файлов в сжатый tar-архив. Функция письма более сложна по сравнению с функцией чтения. Обычная процедура заключается в том, чтобы сначала создать объект архива структуры, установить любые предпочтительные параметры, инициализировать архив, добавить записи и, наконец, не забыть закрыть архив и освободить все ресурсы.
C API для чтения содержимого файла
Libarchive позволяет программистам читать и извлекать содержимое файла. Для извлечения файла из архива вы сначала перебираете его, пока не найдете файл с нужным именем. После этого вы можете считать данные и записать их в файл на диске. Сжатие и формат автоматически определяются при чтении.
Как извлечь архивы на диск внутри приложений C
Libarchive API дает программистам возможность извлекать большинство архивов на диск. Для извлечения архивов необходимо прочитать заголовки входного архива и записать их на диск. Для выполнения задачи вам нужно вытащить данные из архива чтения и записать их в обработчик записи.