Partage
  • Partager sur Facebook
  • Partager sur Twitter

getline ne prend pas certain caractère

Sujet résolu
    20 février 2024 à 14:03:29

    Bonjour,

    Je souhaite copier une image png.

    Le problème c'est que arrivé au caractère de la seconde ligne : un point d'interrogation dans un carré, je ne boucle plus dans mon fichier.

    Si je supprime ce caratère, alors la boucle continue - Et peut lire ce même caractère !!! - Puis s'arrête au bout d'une dizaine de ligne.

    void nvRapport () {
    
        string const dpt("./retourOK.png");
        string const arr("test.png");
        string ligne;
    
        ifstream depart(dpt.c_str());
        ofstream arrive(arr.c_str());
    
       while (getline(depart, ligne)){
        cout << ligne << endl;
        arrive << ligne << endl;
       }
    }

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2024 à 15:16:44

      Les fichiers png sont des fichiers binaires pas des fichiers texte.

      getline et std::string ne sont pas adapté à ce genre de fichiers.

      PS : si tu ne veux pas te casser la tête, tu peux utiliser la fonction std::filesystem::copy depuis C++17

      -
      Edité par rouIoude 20 février 2024 à 15:29:42

      • Partager sur Facebook
      • Partager sur Twitter
      ...

      getline ne prend pas certain caractère

      × 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