2010-12-11 43 views
2

Je travaille sur une petite application qui analyse un certain fichier, décompacte, fait des changements, re-crypte, et enregistre. Cela fonctionne bien, mais pour que cela fonctionne, je dois le décompresser manuellement, lancer l'application sur la sortie, puis gzip ce qui vient de ça. Je me demande simplement si quelqu'un connaît une solution/bibliothèque élégante que je peux utiliser pour automatiser les deux étapes dans l'application C++ qui fonctionnera sous Windows. Points bonus si elle peut détecter si le fichier est gzippé en premier lieu.Je dois ungzip/regzip un fichier pour modifier dans mon C++ dans Windows

Merci beaucoup!

Répondre

2

Zlib fait cela. Et CGZip implémente un wrapper C++ pour cela. Et here est un exemple de la façon de détecter si un fichier donné est gzippé.

Test fichiers GZIP

D'abord, nous devons faire référence à la "RFC 1952 GZIP File Format Specification Version 4.3". C'est le document montré dans la capture d'écran. Il contient des informations utiles sur la structure des fichiers GZIP. Il indique que les deux premiers octets contiennent des valeurs fixes:

ID1 (identification 1)

ID2 (IDentification 2)

Celles-ci ont des valeurs fixes ID1 = 31 (0x1F, \ 037), ID2 = 139 (0x8b, \ 213), pour identifier le fichier comme étant au format gzip.

+0

C'est samedi et j'obtiens une réponse en 8 minutes. Quel super site. Merci beaucoup! – Grazfather