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 :

Lecture d'un fichier


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    165
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 165
    Par d�faut Lecture d'un fichier
    Bonjour � tous,

    Je me permets de venir vous poser une question des plus basiques mais qui est entrain de me faire pousser des cheveux blancs...
    Je cherche � lire un fichier et � d�tecter lorsque j'ai atteint la fin du fichier. Vous allez me dire rien de plus simple...

    J'ai le code suivant:
    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
    #include <iostream>
    #include <fstream>
     
    int main()
    {
            std::fstream                    file("monfichier.txt", std::ios::in|std::ios::binary);
            char                            buffer[80001];
     
            file.read(buffer, 80000);
            std::cout << "Read: " << file.gcount() << " - end? " << file.eof() << std::endl;
     
            file.read(buffer, 80000);
            std::cout << "Read: " << file.gcount() << " - end? " << file.eof() << std::endl;
     
            file.read(buffer, 80000);
            std::cout << "Read: " << file.gcount() << " - end? " << file.eof() << std::endl;
     
            return 1;
    }
    Le soucis c'est que si je mets un fichier qui fait PILE 160 000 octets, � la deuxi�me lecture, je ne d�clenche pas le flag EOF alors que le dernier read me sort 0 octet lu...
    Qu'est ce que j'ai r�t� ?!?

    Petite pr�cision: la lecture n'est pas faite dans une boucle mais dans des appels successifs

    Merci d'avance pour votre aide sur ce cas si ... basic

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Le flag EOF est set quand la pr�c�dente lecture a �chou� parce que la fin du fichier a �t� atteinte. Et cette lecture d�passe le fichier.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    165
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 165
    Par d�faut
    Donc si je dois effectuer une action lors que j'atteins la fin du fichier, je suis oblig� de stocker la taille du fichier qq part et de travailler avec alors...
    Merci pour ta r�ponse

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    R�ponses: 8
    Dernier message: 07/07/2004, 16h30
  2. R�ponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    R�ponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    R�ponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    R�ponses: 2
    Dernier message: 11/06/2002, 10h24

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