Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Reutiliser un QFile

Sujet résolu
    6 avril 2008 à 0:21:02

    Bonjour,
    je voudrais lire plusieurs fichiers, d'un nombre contenu dans une variable (obtenu de la lecture d'un autre fichier :D ).
    Donc j'arrive a recuperer le nombre, mais maintenant, je voudrais reutiliser le QFile qui ma servit a lire le fichier dans le quel je l'ai eu. Je ne veux pas devoir creer autant de QFile qu'il n'y a de fichier, surtout que je ne peux pas le prevoir !

    Donc j'ai chercher dans la doc une methode qui permet de changer le fichier ouvert, mais j'ai rien trouver.
    A part un truc pour ouvrir un fichier deja ouvert dans un autre QFile, si j'ai bien compris ^^ .

    Voila des bouts de codes :D .
    1. QFile *fichier;
    2.                 QTextStream *liste;
    3.                 QString line;
    4.                 QStringList lines;
    5.                 QStringList *contenuFichiers;

    ça, c'etait dans le .h
    Ensuite, dans le .cpp , pour lire le fichier dans le .cpp :
    1. fichier = new QFile("poney/liste.txt");
    2.     if (fichier->open(QIODevice::ReadOnly | QIODevice::Text))
    3.     {
    4.         liste = new QTextStream(fichier);
    5.         i = 0;
    6.         while (!liste->atEnd())
    7.         {
    8.             line = liste->readLine(); // Lis la ligne sans le '\n'
    9.             lines += line;
    10.             i++;
    11.         }
    12.         fichier->close();
    13.     }

    Maintenant, je veux ouvrir les fichiers qui ont les noms contenue dans lines.
    J'ai donc fait ça :
    1. contenuFichiers = new QStringList[i];
    2.     for (i = 0 ; i < m_nbcheval ; i++)
    3.     {
    4.         fichier->open(lines.at(i), QIODevice::ReadOnly | QIODevice::Text);
    5.         while (!liste->atEnd())
    6.         {
    7.             line = liste->readLine(); // Lis la ligne sans le '\n'
    8.             contenuFichiers[i] += line;
    9.         }
    10.         fichier->close();
    11.     }


    Seulement, la signature de la fonction QFile::open(const QString&, QFlags<QIODevice::OpenModeFlag>) n'existe pas ! ça aurait été trop facile ^^ .
    Sinon, je devrais peut etre faire un delete fichier et le recrée a chaque fois ?
    • Partager sur Facebook
    • Partager sur Twitter
      4 juin 2008 à 5:48:38

      Je ne suis pas tout à fait certaine que ça peut t'aider, mais je tente le coup quand même...

      Essaie la méthode :
      void setFileName ( const QString & name )
      


      "name" étant le chemin vers ton fichier ;)

      (La doc est devenue ma meilleure amie :p )
      • Partager sur Facebook
      • Partager sur Twitter

      [Qt] Reutiliser un QFile

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown