Um biblioteca com portabilidade para qualquer sistema operacional.
zlib é uma biblioteca multiplataforma de compressão de dados escrita por Jean-loup Gailly e Mark Adler como uma generalização do algoritmo DEFLATE usado em seu programa de compressão de dados gzip.
A primeira versão pública, originalmente destinada para uso na biblioteca libpng, foi lançada em 1º de Maio de 1995. zlib é distribuída sob uma licença open-source, a zlib license.
Atualmente, zlib é um padrão de fato para compressão de dados em documentos portáveis. Centenas de aplicações para sistemas operacionais Unix e assemelhados (como o Linux) usam-na e seu uso é crescente em outros sistemas (como o Microsoft Windows e o Palm OS).
Dada a sua elevada portabilidade e aos seus baixos requisitos de memória, zlib também é usada em muitos dispositivos embarcados.
No site oficial da Zlib é possível encontrar toda a documentação de como implementá-la no seu código. No entanto, os exemplos são feitos com Linguagem C e o exemplo básico é feito utilizando stdin e stdout.
Mas nesse caso criei um código em C++ com classes e que você possa utilizá-la sem stdin e stdout, basta invocar da seguinte forma:
Instalação
Antes de mais nada você precisa tê-la(a biblioteca) em seu sistema, muito provavelmente já haverá, mas caso não haja você pode instalar da seguinte forma:
Exemplo de sistemas que usam APT.
Utilização
Para COMPACTAR basta rodar o binário gerado e o arquivo que deseja compactar:
Será gerado o arquivo de extensão .Z(Z maiúsculo)
Basta verificar no diretório que executou o binário que haverá uma arquivo de nome: arquivo.txt.Z compactado.
Para DESCOMPACTAR basta rodar o binário gerado e o arquivo que deseja descompactar de extensão .Z:
O conteúdo será extraído e gerará o: arquivo.txt
Na verdade eu modifiquei e adaptei esse exemplo que é um minizip e as partes mais importantes estão comentadas, mas é fácil de entender. Organizei em 4 arquivos que são:
zpipe.hpp
zpipe.cpp
main.cpp
E por final um Makefile para compilarmos rodando somente o comando make.
Bem, simples, né?! Isso é só um exemplo para únicos arquivos, para mais detalhes consulte a documentação.
Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !
Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!