Cherche lib ZIP basique

Yo! les geeks,

Je cherche désespérement une librairie, ou même un bout de code, qui fait juste une chose : sous Windows, ouvrir un fichier ZIP et décompresser tous les fichiers (et répertoires) dans un dossier donné.
La fonction de mes rêves :

bool UnpackToDir(char* zip_filename, char* destination_dir);

J’ai trouvé plein de lib capable de lire et d’écrire des fichier ZIP mais ce sont toutes des usines à gaz multi-plateformes qui me font mal à la tête.
Donc si vous avez dans vos tiroir un truc aussi simple que ce que je recherche, je suis preneur.
J’oubliais : pas de ZIP propriétaire, pas de compression de la mort qui tue… juste compatible avec le pkware de base.

Merciiiiii
Antoine

zlib?

[quote name=‹ pom2pin › date=’ 24 Mar 2005, 14:08’]zlib?
[right][post=« 343860 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Dans le genre usine à gaz c’est pas mal :stuck_out_tongue:

http://www.zlib.net/manual.html#Utility%20functions

Pas sûr que ce soit ça qu’il cherche…

En même temps la compression/decompression n’est pas un point critique d’un programme (enfin je suppose hein, je connais pas son programme en particulier…), c’est pas non plus dramatique de tuer une mouche avec un bazooka dans ce cas.

<mode .net evangelist ON>
Dans le framework 2.0, tu as une lib: System.IO.Compression, ou kkch comme ca.
Sinon en J# t’as gzip aussi, donc utilisable avec le framework 1.1.

Si c’est sous windows, tu peux utiliser la commande ‘compress’.
Ou pire, mettre un unzip.exe et l’appeller… peut etre meme que certains exes ont une interface publique que tu peux utiliser directement…

Sinon moi perso, j’utilise une implementation du Huffman dans mes progs, mais du coup c’est pas compatible avec les .zip existants, c’est juste pour stocker mes datas.

[quote name=‘KiniK’ date=’ 24 Mar 2005, 20:30’]<mode .net evangelist ON>
Dans le framework 2.0, tu as une lib: System.IO.Compression, ou kkch comme ca.
Sinon en J# t’as gzip aussi, donc utilisable avec le framework 1.1.

Si c’est sous windows, tu peux utiliser la commande ‘compress’.
Ou pire, mettre un unzip.exe et l’appeller… peut etre meme que certains exes ont une interface publique que tu peux utiliser directement…

Sinon moi perso, j’utilise une implementation du Huffman dans mes progs, mais du coup c’est pas compatible avec les .zip existants, c’est juste pour stocker mes datas.
[right][post=“343964”]<{POST_SNAPBACK}>[/post][/right][/quote]

Huffman ca pue … Non mais … faudrait mieux quitte a coder un truc se faire son propre LZW qui pour les fichiers data n’est pas sous brevet pour les images oui avec gif …

Koubiak que je vote zlib mais bon c’est plus chiant

[quote name=‘koubiak’ date=’ 24 Mar 2005, 14:48’]Huffman ca pue … Non mais … faudrait mieux quitte a coder un truc se faire son propre LZW qui pour les fichiers data n’est pas sous brevet pour les images oui avec gif …
[right][post=“344010”]<{POST_SNAPBACK}>[/post][/right][/quote]
Hein? Sauf que un Huffman de base ca se code sans trop se prendre la tete en quelque lignes et que c’est le plus efficace par rapport a l’effort fourni. On dirait que “coder un algo de compression” quel que soit l’algo, c’est la meme chose et que quitte a faire autant coder le mieux… heu… ben non quoi. C’est pas comme ca que ca marche et faire un copier coller de l’algo d’un autre sans le comprendre en detail, c’est pas forcement ce qui interesse la personne qui ecrit le programme en question. Huffman a la merite d’etre facilement comprehensible et clair, surtout qu’il a pas bien precise “pour mes applis perso”.

Sauf que l’on est dejà HS vu qu’il cherche a faire des zip… :stuck_out_tongue:

Koubiak

[quote name=‹ koubiak › date=’ 25 Mar 2005, 01:04’]Sauf que l’on est dejà HS vu qu’il cherche a faire des zip… :stuck_out_tongue:

Koubiak
[right][post=« 344022 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Vi je confirme :stuck_out_tongue:
Encore une fois, le but du jeu c’est, si possible de pas me prendre la tête.
Je sais déjà utiliser la zlib mais en l’occurence ce qui m’intéresse c’est le format ZIP de PkWare avec une archive qui contient une architecture de fichiers et dossiers. Donc la fonction magique elle extrait les fichiers, crée les dossiers, checksum, etc.
Précision : C/C++

Antoine

http://www.7-zip.org/fr/

Ils disent, je cite :
Intégration dans le shell de Windows.

Ca peut etre une solution non ?

Koubiak

Alors, toujours pas de solution?

Comme dit Kinik, dans le framework .Net 2.0 (donc en beta 2 en ce moment), il y a la compression/décompression gzip… Euh… En tapant, je me demande si c’est un cousin de zip ou non? Me suis jamais posé la question en fait…

[quote name=‘rolyat’ date=’ 5 Apr 2005, 22:06’]Comme dit Kinik, dans le framework .Net 2.0 (donc en beta 2 en ce moment), il y a la compression/décompression gzip… Euh… En tapant, je me demande si c’est un cousin de zip ou non? Me suis jamais posé la question en fait…
[right][post=“347488”]<{POST_SNAPBACK}>[/post][/right][/quote]

Bah gzip c’est le GNU Zip je crois… libre bien sûr. Apparemment ils utilisent tous les deux le deflate algorithm. Et gzip fait juste la compression des fichiers, pas les archives (pour ça qu’on a du tar.gz)