Open Source C API для форматів файлів стиснення

Бібліотека C для читання/запису потокових архівів у форматах TAR, ZIP, 7-ZIP, CPIO, PAX і ISO. 

Libarchive — це бібліотека на чистому С з відкритим кодом, яка дозволяє розробникам програмного забезпечення читати та записувати потокові архіви в різних форматах, таких як 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.

Previous Next

Початок роботи з Libarchive

Дистрибутив 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, заархівований Gzip

Libarchive дає змогу розробникам програмного забезпечення записувати групу файлів у архів tar у форматі gzip. Функція запису є більш складною порівняно з функцією читання. Загальна процедура полягає в тому, щоб спочатку створити об’єкт архіву struct, встановити бажані параметри, ініціалізувати архів, додати записи та, нарешті, не забудьте закрити архів і звільнити всі ресурси.

C API для читання вмісту файлу

Libarchive дозволяє програмістам читати та видобувати вміст файлу. Для вилучення файлу з архіву ви спочатку переглядаєте його, доки не знайдете файл із потрібною назвою. Після цього ви можете читати дані та записувати їх у файл на диску. Стиснення та формат автоматично визначаються під час читання.

Як розпакувати архіви на диск у програмі C

Libarchive API дає комп’ютерним програмістам можливість розпакувати більшість архівів на диск. Щоб розпакувати архіви, потрібно прочитати заголовки з вхідного архіву та записати їх на диск. Щоб виконати завдання, вам потрібно отримати дані з архіву читання та записати їх до обробника запису.

 Українська