Rechercher : dans
Par :

[C++] Fonction compte nombre de ligne fichier

Dernière réponse le 25 jan 2007 à 17:35:16 Zangdar, le 22 déc 2006 à 13:57:52 
 Signaler ce message aux modérateurs

J'essai 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 << fichier <<endl;
    cout<<nombreLignes(fichier) <<endl;

    return 0;
}

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

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

    if ( fichier ) {
        while (std::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 ...
Configuration: Windows XP
Firefox 2.0.0.1

Meilleures réponses pour « [C++] Fonction compte nombre de ligne fichier » dans :
La comptabilité en ligne VoirEffectuer ses comptes sur Internet La comptabilité en ligne est une alternative séduisante à l'achat de logiciels de comptabilité. En louant un accès à un logiciel de comptabilité sur Internet, une entreprise de petite taille peut réaliser de...
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Langage C - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...

1

Char Snipeur, le 22 déc 2006 à 16:46:50

Essai:
string fichier("noeud.txt");
et :
std::ifstream fichier(fichier2.c_str());
sinon, tu met un caractère guillement dans ton nom de fichier, ce qui doit pas être top
pour le deuxième, il me semble qu'il faut un cahr* et non un string Salutation !
Char Snipeur

Répondre à Char Snipeur

2

Lupin.A, le 23 déc 2006 à 15:16:19

Bonjour,

autre commentaires...


le fait d'utiliser :

using namespace std;

ne t'oblige pas à écrire :

std::ifstream ...

simplement

ifstream ...

devrait suffire.

Lupin

Répondre à Lupin.A

3

Moi, le 4 jan 2007 à 14:23:55
  • +2

C'est moi où t'essayes de lire le fichier "noeud.txt" ?
Essayes en faisant:
string fichier("noeud.txt");
Et pis comme l'a très bien dit Lupin, vires tous les std::

Répondre à Moi

4

 mamiemando, le 25 jan 2007 à 17:35:16
  • +3

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

int nombreLignes (const std::string & filename) {
    std::ifstream fichier(filename.c_str());
    std::string s;

    if(fichier){
        unsigned int count = 0;
        while(std::getline(fichier,s)) ++count;
        return count;
    }else{
        std::cout << "Ne peut ouvrir " << filename << std::endl;
    }
    fichier.close();
    return 0;
}

int main(int argc,char **argv)
{
    if(argc != 2){
        std::cerr << "usage " << argv[0] << " fichier" << std::endl;
        return 1;
    }
    std::cout << nombreLignes(argv[1]) << std::endl;
    return 0;
}

Bonne chance

Répondre à mamiemando