Как легко сжать и распаковать файлы с помощью zlib?

Как легко сжать и распаковать файлы с помощью zlib?

Ответ 1

Для декомпрессии:

char buf[1024*1024*16];
gzFile *fi = (gzFile *)gzopen("file.gz","rb");
gzrewind(fi);
while(!gzeof(fi))
{
    int len = gzread(fi,buf,sizeof(buf));
        //buf contains len bytes of decompressed data
}
gzclose(fi);

Для сжатия

gzFile *fi = (gzFile *)gzopen("file.gz","wb");
gzwrite(fi,"my decompressed data",strlen("my decompressed data"));
gzclose(fi);

Ответ 2

Прочитайте это. Информация уже доступна здесь:
Это первая ссылка, которая появляется даже в Google.

Ответ 3

Если вы можете использовать boost, я бы рекомендовал API iostreams для повышения. См. повысить учебник по iostreams. Он поддерживает компрессоры и декомпрессоры GZIP и BZIP2.