Décompresser un fichier gzip sous Qt4 [Résolu]

Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
- - Dernière réponse : cs_bny
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
- 31 mai 2010 à 17:19
Bonjour, j'utilise Qt4 afin de faire une application pour un projet et j'ai besoin de décompresser un fichier gzip pour ensuite l'ouvrir en format texte. Ouvrir un fichier en format texte est assez simple, cependant tout ce que j'ai trouvé afin de décompresser un fichier au format gzip n'a pas fonctionner. Je me demandais s'il n'y avait pas une façon relativement simple de décompresser un fichier au format gzip à l'aide de Qt (une librairie facile à utiliser par exemple...). Merci de bien vouloir m'aider...
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
3
Merci
Finalement j'ai utilisé la librairie zlib ainsi que le code suivant :

#include "zlib-1.2.5\zlib.h"
...
...
QByteArray FenPrincipale::Decompression(QString fichier)
{
QByteArray contenu = "";

gzFile file;
file = gzopen (fichier.toUtf8().data(), "rb");
if(!file)
{
QMessageBox::critical(0, tr("importation"), tr("Impossible d'ouvrir le fichier"));
return contenu;
}

char buffer[1024];

QByteArray inputData;
while(int readBytes = gzread (file, buffer, 1024))
{
contenu.append(QByteArray(buffer, readBytes));
}
gzclose(file);
return contenu;
}

et cela fonctionne super ...me reste qu'à gérer la grande taille de mes fichiers décompressé afin de les afficher comme il se doit et c'est dans la poche.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 156 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bny
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
8 mars 2017
5
0
Merci
Bonjour,

J'ai trouvé ceci :
http://www.codeproject.com/KB/cpp/cgzip.aspx
qui devrait t'aider.
Bon codage


louis
Commenter la réponse de cs_louis14
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
0
Merci
Malheureusement, la solution que tu as trouvé utilise des LPCTSTR...cela ferait que mon code ne serait plus portable. Je vais l'essayé quand même mais je continue à chercher quelque chose de mieux...je croyais vraiment qu'il y avait des fonctions faites pour ça en Qt...c'est dommage !
Commenter la réponse de cs_bny
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
0
Merci
Il semble y avoir des fonctions pour Qt QCompress() et QUnCompress() pour les Gzip mais je crois qu'il y a 4 octets d'entête de trop ou je sais pas trop quoi...il n'y a que peu d'information sur ces fonctions et tout ce que je trouve n'est vraiment pas clair. Si quelqu'un a déjà utilisé ces fonctions de l'aide serait appréciée...merci !
Commenter la réponse de cs_bny