IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Obtenir nombre de lignes d'un fichier texte


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut Obtenir nombre de lignes d'un fichier texte
    Bonjour,

    Est-il possible d'obtenir le nombre de lignes d'un fichier texte sans avoir à le parcours ligne par ligne et incrémenter le compteur mais plutôt à la manière d'un Quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ifstream inputFile("file.txt");
    if(inputFile.is_open())
    {
      totalNumberLines = .....; // je cherche la fonction qui pourrait me renvoyer cela
    }

    Merci de votre aide.


    EDIT: j'ai trouvé ça, j'essaye et je vous tiens au courant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    std::count(std::istreambuf_iterator<char>(inFile), 
                 std::istreambuf_iterator<char>(), '\n');

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    tu sais que wc execute effectivement un parcours du fichier?

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Oui, mais je me suis mal exprimé.

    Je voulais un truc compact et leger et éviter un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(getline(..., ...))
    {
      ++i;
    }
    EDIT:
    Car je vais devoir remettre manuellement le curseur au debut du fichier.
    D'ailleurs faut que je le fasse, tu connais une manière simple de le faire (genre fseek) ?

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Dans ce cas, ta solution (std::count) m'as l'air d'un bon choix.

  5. #5
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Oui mais ça n'évite pas le fait que je dois revenir au debut du fichier si je veux pourvoir le lire à nouveau, comment je pourrais le faire simplement?

    EDIT: j'ai le choix entre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    inputFile.clear();
    inputFile.seekg(0, ios::beg)
    et
    Une préference?

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut
    seekg()

    Sinon, std::count() peut induire en erreur si la dernière ligne n'est pas ponctuée d'un '\n'. Elle manquera au comptage dans ce cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul du nombre de lignes dans un fichier texte en JavaScript
    Par developppez dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/08/2017, 08h13
  2. Réponses: 13
    Dernier message: 09/01/2008, 13h02
  3. nombre de ligne d'un fichier texte
    Par mrtatou dans le forum C
    Réponses: 20
    Dernier message: 25/01/2006, 13h55
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo