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 :

probleme lecture d'un fichier


Sujet :

C++

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Par défaut probleme lecture d'un fichier
    bonjour j'ai essayé de lire un fichier avec le flot ifstream, mais j'ai constaté que le dernier caractere du fichier est lu 2 fois !
    comment faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    int main()
    {
    ifstream f("toto.txt");
     char c;
    if (f)
    {
     
     
        while (!f.eof())
        {
     
            f.get(c);
            cout<<c;
        }
     
    }
    else
    {
        cerr<<"erreur ouverture"<<endl;
    }
    return 0;
    }
    Merci

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <iostream>
    #include <fstream>
     
    using namespace std;
     
    int main()
    {
        ifstream f("toto.txt");
        if (f)
        {
            char c;
            while (f.get(c))
            {
                cout<<c;
            }
     
        }
        else
        {
            cerr<<"erreur ouverture"<<endl;
        }
        return 0;
    }
    Ca marche, je pense que ton problème venait du fait que f.eof() se déclenche seulement quand tu essaies de lire un caractère et qu'il n'y en a plus.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Par défaut
    bizarre Merci bcp.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    c'est drole, car dans l'exemple ici http://www.cplusplus.com/reference/i...tream/get.html il fait la même chose et pourtant en testant sur cette forme la, moi aussi j'ai un problème avec le dernier caractère...

  5. #5
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    oui, mais il utilise file.good() au lieu de file.eof()...
    En tout cas ça apporte la réponse à la question

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 292
    Par défaut
    C'est terrible ces gens qui persistent à ne pas vouloir écrire l'extraction dans le test du while ...

    Toute extraction doit être testée pour savoir si on peut en faire quoique ce soit, on ne peut pas tester avant.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. Probleme lecture d'un fichier html
    Par maxwel56 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2011, 17h08
  2. Probleme lecture dans un fichier Excel ferme
    Par kent17 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/07/2010, 09h29
  3. Probleme lecture dans un fichier
    Par Diabolikjo dans le forum Langage
    Réponses: 9
    Dernier message: 11/07/2008, 12h08
  4. probleme lecture et ecriture fichier texte
    Par shams dans le forum C
    Réponses: 10
    Dernier message: 06/07/2007, 10h46

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