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 :

Question bete lecture de fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Question bete lecture de fichier
    Dans la suite de ma conversion du C au C++ je me pose une question sur la lecture de fichier. typiquement si je fais une lecture en boucle du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string nom_dossier;
    ifstream file_info("liste_dossier.txt");
     
    while(file_info>>nom_dossier)
    {	
        cout<<nom_dossier<<endl;
    }
    pratiquement il sort de la boucle lorsqu'il arrive à la fin du fichier "liste_dossier.txt"
    mais theoriquement ifstream derive de istream et herite de l'operateur istream::operator>>
    Dans la doc je vois que cet operateur retourne (*this) or je comprend pas que si (*this) est systematiquement retourné on sorte du while. Je vois peut etre trop les choses du style C mais en générale la sortie de cette boucle se fait pour des valeurs nulle? ce qui ne devrait pas etre le cas de (*this). On est ce que je peche dans la comprehension du buisiness?
    Merci pour vos lumieres

  2. #2
    Membre expérimenté
    Profil pro
    Dev
    Inscrit en
    Décembre 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Décembre 2007
    Messages : 191
    Par défaut
    justement (*this), c-à-d le ifstream, possède un opérateur d'évaluation qui l'évalue en VRAI s'il reste des choses à extraire ou FALSE sinon .

    EDIT : en fait j'ai vérifié sur cppreference.com, l'objet ifstream renvoie false pour toute erreur (par exemple tentative de lecture à la fin du fichier, mais aussi erreur d'ouverture, etc...

  3. #3
    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
    ok merci j'avais pas regardé sur cppreference mais sur cplusplus.com
    ça me rassure donc!

  4. #4
    Membre expérimenté
    Profil pro
    Dev
    Inscrit en
    Décembre 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Décembre 2007
    Messages : 191
    Par défaut
    il me semble bien que c'est celui-là : http://cplusplus.com/reference/iostr...eratornot.html


  5. #5
    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
    oui mais dans mon cas je ne fais pas appel à cet operateur, l'évalution se fait directement dans le while avec le retour en false !! d'ailleur tu aurais le lien sur cppreference pour le retour de la valeur false?

    c'est quant meme un peu moins pratique si on veut ecrire des données numériques car pour ecrire un truc du genre 2.12345678.e+04 avec les espacement pour en ecrire à la volée, j'ai lutté. Mais bon, faut dire que j'ai encore les automatismes du C...

  6. #6
    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
    ça me parait toujours pas clair... j'arrive pas à mettre la main sur un endroit (doc) où ça explique la sorite de la boucle while

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

Discussions similaires

  1. Double question sur lecture Fichier txt
    Par loribac dans le forum Langage
    Réponses: 6
    Dernier message: 29/05/2013, 14h13
  2. {VBA Excel}Question sur la lecture de fichier excel
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2007, 09h12
  3. Question sur lecture d'un fichier text en Java
    Par ovcrash dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 27/11/2007, 17h14
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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