LINUX.ORG.RU

Создание gzip архива

 


0

1

Помогите осилить libarchive. Нужно сжать один файл с помощью gzip, но заработал пример который создает .tar.gz.

char *inputData;
int InputDataSize;
struct archive *a = archive_write_new();
struct archive_entry *entry = archive_entry_new();

archive_write_add_filter_gzip(a);
archive_write_set_format(a,ARCHIVE_FORMAT_TAR);
archive_write_open_filename(a, "file.gz");

archive_entry_set_pathname(entry, "file");
archive_entry_set_size(entry, inputDataSize);
archive_entry_set_filetype(entry, AE_IFREG);
archive_entry_set_perm(entry, 0644);

archive_write_header(a, entry);
archive_write_data(a, inputData, inputDataSize);

archive_entry_free(entry);
archive_write_close(a);
archive_write_free(a);

Я думаю, что нужно указать необходимый формат фукцией archive_write_set_format(). В archive.h определены разные ARHIVE_FORMAT, но я не пойму, какой из них нужно указать.


Если тебе нужно один файл сжать, то при чем здесь архивы? Архив это сериализованный пакет с файлами, сжатие отдельное понятие.

anonymous
()

Создание gzip архива
осилить libarchive
но заработал пример который создает .tar.gz

Если хотелось просто сжать данные gzip-ом, то использвание библиотеке для создания _архивов_ - выглядит странно.
man zlib

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.