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 :

nombre de colonnes dans un fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut nombre de colonnes dans un fichier
    Bonjour, je désire lire un fichier texte. C'est tout bon pour l'ouverture et la lecture d'une ligne (merci la FAQ !). Maintenant, je sais que mon fichier texte ne contient que des nombres rangés en colonnes :

    1 2 3
    4 5 6
    7 8 9
    10 11 12
    Comment puis-je déterminer le nombre de colonnes des lignes ? Surtout que je peux avoir

    1 2 3
    ou

    1 2 3
    (le nombre d'espace vide peut être différent selon les lignes)

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Si toutes les lignes ont le même nombre de colonnes, le mieux est d'utiliser une fonction de séparation sur la première ligne, avec l'espace comme caractère séparateur.

    Pour ce genre de choses, la vieille fonction C strtok() marche bien, mais j'ignore s'il y a un équivalent C++. D'un autre côté, comme il s'agit d'espaces, tu devrais pouvoir t'en sortir avec une std::string, un appel à std::getline(), puis un std::istringstream sur lequel tu comptes le nombre de fois où une extraction de nombre réussit...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Salut,

    effectivement, pour l'instant j'utilise ta méthode "bourrine" avec le nombre isstringstream.

    Mais comment savoir si la conversion a réussi ? Comment récupérer un code erreur ?

    Merci

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    bad(), fail(), eof() ou tout simplement if(!stream), pour voir si la dernière tentative de conversion a échoué...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    OK merci, if(!stream) est super

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

Discussions similaires

  1. trouver nombre de "colonnes" dans un fichier
    Par gaze24 dans le forum SL & STL
    Réponses: 12
    Dernier message: 16/05/2008, 15h25
  2. Réponses: 8
    Dernier message: 15/02/2008, 21h53
  3. [débutant] nombre de colonne dan sun fichier csv
    Par mandagor dans le forum C++
    Réponses: 18
    Dernier message: 15/06/2005, 15h42
  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