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

Signaler
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
-
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010
-
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...

4 réponses

Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010

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.
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,

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


louis
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010

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 !
Messages postés
24
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
31 mai 2010

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 !