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

SL & STL C++ Discussion :

fonction : ifstream::ignore()


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut fonction : ifstream::ignore()
    Bonjour,

    Je dois interpréter un fichier de config (texte) en C++. Je le charge ligne par ligne dans un string:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configFile >> skipws >> line;
    Puis je lis les champs (séparés par un ou plusieurs espaces):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    istringstream lineStream(line);
    lineStream >> field_1 >> field_2 >> field_3;
    Mais je voudrais sauter certains champs. La fonction ignore() semble être indiquée pour ce cas, mais comment l'utiliser? Dans l'assignation, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lineStream >> field_1 >> ignore() >> field_3;
    Si vous avez un autre moyen rapide, élégant, je suis également preneur...

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour,
    premièrement pour lire une ligne il faut mieux utilise getligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::getligne(configFile, line);
    http://cpp.developpez.com/faq/cpp/?p...ture_par_ligne

    Deusièmement, pour ignore, je ne sait pas si c'est exactement ce que tu veut.
    http://www.cplusplus.com/reference/i...am/ignore.html

    Sinon, tu peut utiliser une string temporaire que tu ne traite pas.

  3. #3
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Bonjour,

    Je crois que la fonction getline() est plus simple que >>, c'est vrai.

    Pour le deuxième point, je voudrais éviter de lire un champ dont je n'ai que faire. Je voudrais faire l'équivalent du C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(line, "%s %*s %d", field_1, &field_3);
    C'est-à-dire lire tous les champs qui m'intéressent en une seule instruction. Est-ce possible?

Discussions similaires

  1. Fonction récursive : ignorer un élement
    Par Kurodiam dans le forum Lisp
    Réponses: 6
    Dernier message: 24/09/2014, 21h13
  2. fonction onclick ignorée
    Par raimo dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/05/2008, 21h23
  3. fonction submit() ignorée
    Par ozzmax dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/08/2006, 15h58
  4. Fonction javascript ignorée
    Par cell dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/07/2006, 09h09
  5. Le linker ignore les fonctions non implémentées
    Par Rodrigue dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/03/2005, 13h31

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