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 :

Récupérer le contenu d'un fichier


Sujet :

Qt

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Récupérer le contenu d'un fichier
    Bonjour,

    La question du jour: comment récupérer le contenu d'un fichier dans un QString???

    D'après la doc, pour ouvrir un fichier, il faut utiliser ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    QString filename = QFileDialog::getOpenFileName();
        QFile file(filename);
        //Chargement du fichier
        if (!file.open(QFile::ReadOnly | QFile::Text)) {
            std::cout<<"Erreur";
         }
     
         QTextStream in(&file);
         QApplication::setOverrideCursor(Qt::WaitCursor);
         text_edit->setPlainText(in.readAll());
         QApplication::restoreOverrideCursor();
    Je peux récupérer le contenu du fichier dans un QTextEdit, dans un QTextStream mais pas dans un QString!!!

    J'ai joué avec les setPlainText, toPlainText et ce, sans résultat.

    Alors, comment faire?

    Merci d'avance.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par theprogrammeur Voir le message
    Je peux récupérer le contenu du fichier dans un QTextEdit, dans un QTextStream mais pas dans un QString!!!
    ?? pourquoi???
    readAll retourne une ... QString

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé de toutes les manières possible mais je n'y arrive pas.

    Voici le code que j'utilise pour l'instant:
    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
    QString filename = QFileDialog::getOpenFileName();
        QApplication::setOverrideCursor(Qt::WaitCursor);
        QFile file(filename);
        //Chargement du fichier
        if (!file.open(QFile::ReadOnly | QFile::Text)) {
            std::cout<<"Erreur";
         }
     
         QTextStream in(&file);
         QString my_code = (in.readAll());
     
         file.close();
         QApplication::restoreOverrideCursor();
     
    long taille = 0;
         taille = my_code.size();
    Je sais qu'il ne fonctionne pas puisque "taille" vaut toujours 0.

    Comment faire?

    Merci beaucoup.

  4. #4
    Membre régulier
    Avatar de mac&cheese
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 98
    Points : 96
    Points
    96
    Par défaut
    As tu essayé quelque chose 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
    QString filename = QFileDialog::getOpenFileName();
        QApplication::setOverrideCursor(Qt::WaitCursor);
        QFile file(filename);
     
        //Chargement du fichier
        if (!file.open(QFile::ReadOnly | QFile::Text)) {
            std::cout<<"Erreur";
         }
     
         QString contenu( file.readAll() );
     
         file.close();
         QApplication::restoreOverrideCursor();
    A tester.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Tu est sur que c'est un fichier ecrit en mode text?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QString s = file.readAll()
    aurais dû suffire

    As tu un exemple de fichier à nous montrer

Discussions similaires

  1. [File] récupérer le contenu d'un fichier
    Par kendras dans le forum C
    Réponses: 31
    Dernier message: 19/06/2006, 12h33
  2. Réponses: 5
    Dernier message: 10/04/2006, 12h07
  3. Aide : Décoder, récupérer le contenu d'un fichier .pst
    Par ATTIA dans le forum API, COM et SDKs
    Réponses: 10
    Dernier message: 23/03/2006, 16h11
  4. Comment récupérer le contenu de plusieurs fichiers textes ?
    Par calimero2611 dans le forum Langage
    Réponses: 9
    Dernier message: 19/02/2006, 15h45
  5. [ethereal] récupérer le contenu d'un fichier envoyé ?
    Par in dans le forum Développement
    Réponses: 1
    Dernier message: 19/06/2005, 15h44

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