IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Exctration archive .zip


Sujet :

Qt

  1. #1
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut Exctration archive .zip
    Bonjour,

    En fait je souhaiterais "extraire" le contenu d'une archive zip, ou plus precisement recopier les fichier contenus dans l'archive, mais je n'arrive pas à trouver un objet permettant de "parcourir" (je sais pas si c'est le bon terme) le contenu de l'archive.

    Les seuls exemples que je trouve, c'est pour compresser/decompresser des fichiers avec qCompress/qUncompress via un QByteArray ou QDataStream(là parcontre j'ai pas trop regardé).

    Par contre si j'ai mon archive "archive.zip" contenant des fichiers (.txt, .xml,...), je ne vois comment "recréer"(en recopiant les orignaux compréssés) les fichiers contenus dans l'archive.
    Je ne vois pas comment accéder au contenu de l'archive.


    Merci de votre aide en esperant avoir été clair.

  2. #2
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut
    Salut,

    Il y a une lib développée avec Qt pour ça : http://quazip.sourceforge.net/

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Merci de ton aide, mais je cherche une solution utilisant uniquement l'API Qt standard, car je suis dans une position où il ne m'est pas possible ajouter des lib externes.

    Merci tout de même.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par juve1897 Voir le message
    Merci de ton aide, mais je cherche une solution utilisant uniquement l'API Qt standard,
    Tu ne trouvera rien dans Qt pour cela....

  5. #5
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Donc à part compresser/decompresser des fichiers textes, on ne peut rien faire d'autre avec Qt ?

  6. #6
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut
    Si, tu peux développer ta propre librairie.

  7. #7
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Oui mais faudra tout de même l'ajouter ou la linker d'une manière ou d'une autre, et je peux pas trop toucher au framework sur lequel je travaille.

  8. #8
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Par défaut
    Bonjour,

    Avec Qt la seule méthode disponible est qCompress. Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include <QByteArray>
    #include <QFile>
    #include <QApplication>
     
    int main(int argc, char *argv[])
    {
    	QFile infile("uncompressedfile.dat");
    	QFile outfile("compressedfile.gz");
     
    	infile.open(QIODevice::ReadOnly);
    	outfile.open(QIODevice::WriteOnly);
     
    	QByteArray uncompressedData = infile.readAll();
    	QByteArray compressedData = qCompress(uncompressedData);
     
    	outfile.write(compressedData);
     
    	infile.close();
    	outfile.close();
    }
    Ca utilise la librairie zlib inclut dans Qt. Par contre cela ne crée pas un fichier au format zip (sous entendu algo deflate)...

    Si tu veux créer un zip sans utiliser de lib externe une seule solution :
    - Lire la RFC deflate
    - La comprendre
    - Faire une implémentation Qt.
    Pour cette dernière solution, je te souhaite avec toute ma sincérité, beaucoup de courage !

  9. #9
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Par défaut
    Heu désolé, je n'ai lu que de travers le thread...
    La méthode qCompress/qUncompress ne servira à rien...

    Il ne reste que la RFC...

Discussions similaires

  1. Ouvrir les archive zip avec l'explorateur windows
    Par koKoTis dans le forum Windows XP
    Réponses: 2
    Dernier message: 20/08/2006, 23h17
  2. [Zip] Problème de création d'archives (Zip.lib.php)
    Par BOUHAMOU dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 24/04/2006, 12h51
  3. [Zip] Comment lire des archives ZIP ?
    Par Paganoni dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/01/2006, 23h34
  4. [C#] [WinForms] Lecture d'un fichier dans une archive ZIP
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2004, 17h15
  5. Archive::Zip
    Par Cyspak dans le forum Modules
    Réponses: 2
    Dernier message: 09/09/2003, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo