Open Source C API dla formatów plików kompresji
Biblioteka C do odczytu/zapisu archiwów strumieniowych w formatach TAR, ZIP, 7-ZIP, CPIO, PAX i ISO.
Libarchive to czysta biblioteka C typu open source, która umożliwia programistom odczytywanie i zapisywanie archiwów strumieniowych w różnych formatach, takich jak obrazy TAR, ZIP, 7-ZIP, CPIO, PAX i ISO9660. Wspaniałą rzeczą w Liarchive jest to, że jest wysoce modułowa. Od początku był projektowany w taki sposób, aby dodawanie nowych formatów archiwów było bardzo łatwe w porównaniu z innymi bibliotekami.
Libarchive obsługuje odczytywanie i zapisywanie kilku popularnych formatów kompresji plików. Czyta kilka popularnych formatów, takich jak TAR, ZIP, 7-ZIP, CPIO, PAX, RAR, XAR, LHA, AR, CAB, MTREE i ISO. Zapewnia również obsługę pisania w popularnych formatach, takich jak archiwa TAR, ZIP, ISO, XAR, PAX, CPIO, AR, MTREE i SHAR.
Pierwsze kroki z Liarchive
Dystrybucja libarchive zawiera standardowy skrypt konfiguracyjny generowany przez Autoconf, który może być użyty do zainstalowania libarchive, bsdtar i bsdcpio na prawie każdym systemie podobnym do POSIX.
Poniżej podano typowy kod instalacyjny
Oto dowództwo
$ tar xzf libarchive-2.7.0.tar.gz
$ cd libarchive-2.7.0
$ ./configure
$ make
$ make check
$ make install
Możesz również użyć narzędzia „cmake”, aby wygenerować pliki konfiguracyjne dla różnych środowisk IDE, takich jak Visual Studio w systemie Windows i XCode w systemie Mac OS. Proszę pamiętać, że można go używać z biblioteką libarchive 2.6.990a lub nowszą. Najpierw musisz uzyskać i zainstalować odpowiednią wersję narzędzia cmake dla swojej platformy
Użyj automatycznego wykrywania formatu
Liarchive używa automatycznego wykrywania formatu podczas odczytu archiwów. Wykorzystuje wewnętrzny proces „licytacji”, który analizuje przychodzące dane za pomocą wielu modułów. Wykrywacz automatycznie radzi sobie z archiwami skompresowanymi za pomocą Tar, Gzip, Bzip2 i wielu innych popularnych algorytmów kompresji.
Zapisywanie plików do archiwum TAR w formacie Gzip
Libarchive umożliwia twórcom oprogramowania zapisanie grupy plików w archiwum tar spakowanym gzipem. Funkcja pisania jest bardziej złożona w porównaniu z funkcją czytania. Powszechną procedurą jest najpierw utworzenie obiektu archiwum struct, ustawienie dowolnych preferowanych opcji, zainicjowanie archiwum, dodanie wpisów, a na koniec nie zapomnij zamknąć archiwum i zwolnić wszystkie zasoby.
C API do czytania zawartości plików
Libarchive umożliwia programistom komputerowym odczytywanie i wyodrębnianie zawartości pliku. Aby wyodrębnić plik z archiwum, najpierw iterujesz przez niego, aż znajdziesz plik o żądanej nazwie. Następnie możesz odczytać dane i zapisać je do pliku na dysku. Kompresja i format są automatycznie wykrywane podczas czytania.
Jak wyodrębnić archiwa na dysk w aplikacjach C?
Libarchive API daje programistom możliwość wyodrębnienia większości archiwów na dysk. Aby wyodrębnić archiwa, musisz odczytać nagłówki z archiwum wejściowego i zapisać je na dysku. Aby wykonać zadanie, musisz pobrać dane z archiwum odczytu i zapisać je do obsługi zapisu.