Partage
  • Partager sur Facebook
  • Partager sur Twitter

qt écrire dans un fichier

les flux qt

Sujet résolu
    18 avril 2020 à 19:25:55

    bonjour j'ai un gros problème je ne peut écrire dans un fichier sans que tout son contenus ne sois supprimer

    voici mon code:

        QFile file("chat.txt");
        if (!file.open(QIODevice::Append | QIODevice::Text))
        {
            QTextStream fichier(&file);
            fichier << message;
        }
        else
        {
            etatServeur->setText(tr("il est imposible d'ecrire dans le fichier"));
        }



    comme vous le voyer j'ai utiliser QIODevice::Append donc d'après la doc L’appareil est ouvert en mode appendice afin que toutes les données soient écrites à la fin du fichier.

    je ne comprend donc pas ou est mon erreur

    comprenez vous ?

    ps peutite info le flux n'est pas confirmée ( etatServeur afiche il est imposible d'ecrire dans le fichier)

    -
    Edité par unel 18 avril 2020 à 20:13:10

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 avril 2020 à 0:03:01

      Salut,

      Dans la documentation de QFile::open(...) tu peux voir écrit : "Returns true if successful; otherwise returns false."

      Or, dans ton if tu fais "!" (négation). Donc en gros, si je traduis ton code :

      Si le fichier n'a pas pu être ouvert, écris dedans.
      Sinon (si le fichier a pu être ouvert), affiche "Il est impossible d'écrire dans le fichier".

      Je pense que ça devrait t'aider.

      PS: pense bien à fermer l'accès au fichier quand tu as fini d'écrire dedans.
      https://doc.qt.io/qt-5/qiodevice.html#close

      -
      Edité par Anonyme 19 avril 2020 à 0:04:11

      • Partager sur Facebook
      • Partager sur Twitter
        19 avril 2020 à 19:59:05

        bo

           QFile file("chat.txt");
            if (file.open(QIODevice::ReadWrite | QIODevice::Text))
            {
                QTextStream fichier(&file);
                fichier << message;
            }
            else
            {
                etatServeur->setText(tr("il est imposible d'ecrire dans le fichier"));
            }
            file.close();


        njour merci pour la réponse jais régler un problème (la négations) mais  ça n'enregistre toujours pas je ne comprends pas:euh:

        -
        Edité par unel 20 avril 2020 à 14:14:21

        • Partager sur Facebook
        • Partager sur Twitter
          23 mai 2020 à 15:36:02

          voila jais réussi

          QFile file(nom);
              if (file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append))
              {
                  QTextStream fichier(&file);
                  fichier << message;
              }
              else
              {
                  etatServeur->setText(tr("il est imposible d'ecrire dans le fichier"));
              }
              file.close();
          


          merci

          • Partager sur Facebook
          • Partager sur Twitter

          qt écrire dans un fichier

          × 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