Partage
  • Partager sur Facebook
  • Partager sur Twitter

3 boucles et deux if

Segmentation fault

    6 avril 2008 à 12:10:54

    Bonjour,
    j'ai fait un code qui me donne une segmentation fault, et je sais pas d'ou ça vient.
    C'est pour trier le contenue d'un fichier.
    1. for (i = 0 ; i < m_nbcheval ; i++ )
    2.     {
    3.         for (int k = 0 ; k < j[i] ; k++)
    4.         {
    5.             if (contenuFichiers[i].at(k) == "[SECTION ENTREE_SORTIE]")
    6.             {
    7.                 for ( int l = i; m_continuer = 1 ; l++)
    8.                 {
    9.                     if (contenuFichiers[l].at(l) == "[END SECTION_ENTREESORTIE]")
    10.                         m_continuer = 0;
    11.                     else
    12.                         contenuSection[i] += contenuFichiers[i].at(k + 2);
    13.                 }
    14.             }
    15.         }
    16.     }

    m_nbcheval contient le nombre de fichier (donc le nombre de case dans le tableau contenuFichiers)
    j contient le nombre de ligne de chaque fichier j[0] du premier fichier, ect.
    Je vois pas mon erreur, mais avec des boucles pareil c'est asser dur a voir ^^

    Et je fait k + 2 parce que dans mon fichier j'ai fait deux lignes vide apres la declaration de section
    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2008 à 17:58:21

      Hello !
      Je pense que c'est ta 3ème boucle qui plante.
      Tu lui dit :
      1. for ( int l = i; m_continuer = 1 ; l++)

      Le programme va commencer : l = i, il fait sa boucle, il fait le test.
      Mais normalement, les 3 paramètres du for doivent contenir la même variable (on mélange pas des vaches et des cochons dans un pré)
      Au lieu de ton for, essaie avec un while ou do while ;)

      1. while (m_continuer == 1)
      2. {
      3. //ton code ici, où tu peux mettre m_continuer à 0 et il va arrêter ;)
      4. }


      Bonne chance pour la suite ;)
      • Partager sur Facebook
      • Partager sur Twitter
        6 avril 2008 à 17:59:38

        C'est le 4ème message que tu post où l'on voit que tu ne maitrises pas du tout ce que tu fais. Je te conseille de lire un cours plutôt que de copier du code un peu partout.
        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.

        3 boucles et deux if

        × 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