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 :

istream : lecture de fin de fichier


Sujet :

SL & STL C++

  1. #1
    Membre émérite
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Par défaut istream : lecture de fin de fichier
    Bonjour,

    J'ai un petit soucis lors de la lecture d'un fichier texte, qui ne se fini pas par un saut de ligne.

    je lis le fichier ligne par ligne avec getLine (= istream::getLine(...) ), mais en arrivant sur la derniere ligne, le EOF en fin de ligne fait retourner false et donc je perd le contenu de la derniere ligne...

    Je cherche donc à récuperer la derniere ligne sans le EOF.

    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
     
    is.seekg (0, std::ios::beg);
    int pos = is.tellg(); //memorise la position avant le read
    if(!is.getline(cline,249))//return false if EOF
    {
    	is.seekg(pos); //revient à la position avant l'echec de read
    	char c;
    	c = (char)is.get();
    	if(c == EOF)
    		return false;
    	unsigned int i=0;
    	for(i=0 ; i<249 ; ++i)
    	{				
    		if(c != EOF)
    			cline[i] = c;
    		else
    			break;
     
    		c = (char)is.get();
    	}
    	cline[i+1] = '\n';
    }
    Mais rien à faire ... le istream a atteint le bout de fichier et ne veux pas revenir en arriere pour que je puisse lire manuellement...

    Je tiens à préciser que meme si ajouter un saut de ligne dans le fichier est fesable, ce n'est pas une solution algorithmique a long terme...

    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Et en utilisant cette version ?

    MAT.

  3. #3
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par défaut
    La solution de l'énigme de la ligne finale manquante est d'ailleurs donnée dans cette même faq, un peu plus haut.

  4. #4
    Membre émérite
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Par défaut
    Merci, les deux solutions sont sensiblement les même

    J'arrive en effet à lire la derniere ligne a présent.

    Merci du coup de main.

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

Discussions similaires

  1. Lecture au-delà de la fin de fichier
    Par Duffer dans le forum Débuter
    Réponses: 5
    Dernier message: 29/07/2013, 20h51
  2. Probleme de lecture fin de ligne/fin de fichier
    Par KiraX10A dans le forum Débuter
    Réponses: 4
    Dernier message: 15/10/2009, 13h31
  3. Lecture de fichier binaire et gestion de fin de fichier
    Par habasque dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 02/05/2007, 17h06
  4. Problème de lecture de fin de fichier (eof(fichier))
    Par jailbomba dans le forum Pascal
    Réponses: 2
    Dernier message: 21/02/2007, 16h50
  5. Lire de la 2eme ligne à la fin du fichier
    Par iamspacy dans le forum Linux
    Réponses: 3
    Dernier message: 03/05/2004, 13h23

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