Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] Création fonction pour compter le nombre de ligne d'un fichier txt

    22 décembre 2006 à 14:47:49

    J'essaie de coder une fonction en c++ pour compter le nombre de lignes d'un fichier texte.


    #include <string>
    #include <fstream>
    #include <iostream>

    using namespace std;
    int nombreLignes (string fichier);

    int main()
    {
        string fichier("\"noeud.txt\"");
        cout<<nombreLignes(fichier) <<endl;

        return 0;
    }

    //Fonction qui renvoi le nombre de ligne d'un fichier
    int nombreLignes (string fichier2) {

        ifstream fichier(fichier2);
        int Count = 0;
        string s;

        if ( fichier ) {
            while (getline(fichier, s)) {Count++;}
            return Count;
        }

        else { cout << "echec" <<endl;}
        return 0;
    }




    J'ai deja écrit ce code mais j'obtient des erreurs de compilation et je ne sais pas pourquoi ...
    • Partager sur Facebook
    • Partager sur Twitter
      22 décembre 2006 à 15:32:13

      Je ne connais pas le c++ mais comme tu renvoies le variable count, il faut mieux faire:
      cout<<count <<endl;

      Nan?
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2006 à 15:48:46

        Le vaiable Count est interne à la fonction, elle n'existe pas dans le main, je ne peut donc pas faire ve que tu dis.
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2006 à 15:54:13

          Bin tu fais comme en C je pense tu créer ta variable count dans ton main et sa marche. (normalement :p )
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2006 à 16:16:10

            Le problème ne vient pas de la de toute façon, c'est dans le transfert du nom de fichier en paramètre de la fonction que ça coince...
            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2006 à 16:25:42

              Je voulais faire cela aussi mais il semble que mon problème venait du "getline" donc maintenant je met un "[end]" à la fin de mes fichiers txt. :-°
              • Partager sur Facebook
              • Partager sur Twitter
                22 décembre 2006 à 18:04:08

                * Sorry, useless sentence ... *
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  22 décembre 2006 à 19:22:46

                  Le constructeur de ifstream prend en paramètre un char*, et non pas une string.

                  ifstream file(filename.c_str());

                  => Utiliser la méthode c_str de string.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    22 décembre 2006 à 19:29:56

                    Ahem
                    "./noeud.txt"


                    EDIT: Ca marchais pas.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 décembre 2006 à 20:36:48

                      Citation : Barbidou54

                      Ahem

                      <code type = "c++">"./noeud.txt"</code>



                      Le zCode est :

                      <code type="cpp"></code>
                      • Partager sur Facebook
                      • Partager sur Twitter

                      [C++] Création fonction pour compter le nombre de ligne d'un fichier txt

                      × 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