Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment utilise-t-on la zlib ?

2 réponses
Avatar
thomas.baruchel
Bonjour,

je n'ai jamais utilisé la zlib, et comme elle joue un rôle
ultra-mineur dans mon projet, j'aimerais ne pas passer du
temps dans l'étude de cette bibliothèque.
Mon programme commence simplement par décompresser un
fichier "/tmp/test.gz" vers "/tmp/ramdisk/test".
Je sais évidemment qu'un system("gzip -d ...") serait
la seule réponse que je mérite :-( mais quelqu'un
aurait-il la gentillesse de me donner les quatre/cinq
lignes les plus propres qui puissent faire une opération
de ce genre sans appel système.

Supposons donc deux:

char *i="/tmp/test.gz";
char *o="/tmp/ramdisk/test";

Au cas où cela jouerait:
- test.gz est un gros fichier (5à6Mo compressé)
- il ne contient que des lignes de texte ascii (très peu de
caractères différents: 10 chiffres, espace, virgule, lettre A
(c'est la base de donnée de N.J.A. Sloane).
- les lignes font entre 60 et environ 500 caractères;

Je ne souhaite pas d'optimisation particulière, mais voudrais un
code propre. Eventuellement un test de réussite. Merci grandement,

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel <baruchel@laposte.net>

2 réponses

Avatar
thomas.baruchel
Je ne souhaite pas d'optimisation particulière, mais voudrais un
code propre. Eventuellement un test de réussite. Merci grandement,


si on peut ajouter un compteur de lignes, je suis preneur,
sinon; ce n'est pas grave.

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel

Avatar
Stephane CHAZELAS
Tu peux t'inspirer du minigzip.c dans les sources de la zlib

--
Stéphane