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 :

Impossible the lire le dernier mot


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Par défaut Impossible the lire le dernier mot
    Je lis un fichier un charactère à la fois, mais le dernier mot n'est pas ajouter dans mon arbre binaire.

    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
    24
    25
    26
    27
    ifstream lecture( "Texte.txt", ios::in );
    	//ofstream Sortie( "Rapport.txt", ios::out );
    	if ( !lecture ) {
    		cerr << "Ouverture du fichier impossible, fichier inexistant " << endl;
    		exit ( 1 );
    	}
    	string motRaw = "";
    	char lettre = ' ';
     
    	while(!lecture.eof()){
    		lecture.get(lettre);
     
    		if(lettre != ' '  &&  lettre  != ','  && lettre  != '.'  && 
    		   lettre != '\'' &&  lettre  != '"'  && lettre  != '!'  &&
    		   lettre != ';'  &&  lettre  != '?'  && lettre  != ':'  &&
    		   lettre != '('  &&  lettre  != ')'  && lettre  != '\n' && 
    		   lettre != '\r'){//Si pas special alors
     
    			motRaw+=toupper(lettre);//Ajouter le character dans le string pour constituer le nouveau mot
     
    		}else{
    			aMot->ajouter(motRaw);
    			cout<<motRaw+"\n";
    			motRaw="";//Effacer l'ancien mot
    		}
     
    	}

  2. #2
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 097
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 097
    Par défaut
    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
    	while(!lecture.eof()){
    		lecture.get(lettre);
     
    		if(lettre != ' '  &&  lettre  != ','  && lettre  != '.'  && 
    		   lettre != '\'' &&  lettre  != '"'  && lettre  != '!'  &&
    		   lettre != ';'  &&  lettre  != '?'  && lettre  != ':'  &&
    		   lettre != '('  &&  lettre  != ')'  && lettre  != '\n' && 
    		   lettre != '\r'){//Si pas special alors
     
    			motRaw+=toupper(lettre);//Ajouter le character dans le string pour constituer le nouveau mot
     
    		}else{
    			aMot->ajouter(motRaw);
    			cout<<motRaw+"\n";
    			motRaw="";//Effacer l'ancien mot
    		}
    		aMot->ajouter(motRaw) // en ajoutant cette ligne ?
    	}

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Par défaut
    Citation Envoyé par Flob91 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		aMot->ajouter(motRaw) // en ajoutant cette ligne ?
    	}
    Aucune différence, je me demande bien ce qu'est le problème...

  4. #4
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 097
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 097
    Par défaut
    Combien de caractères lis tu ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Par défaut
    Citation Envoyé par Flob91 Voir le message
    Combien de caractères lis tu ?
    Ce code ajoute un mot dès qu'il atteint un délimiteur.

    Si dans mon texte j'ai la phrase:
    Bonjour tout le monde

    L'arbre aura:
    Bonjour tout le

    J'ai ajouté un compteur et il me renvoie le total des charactères +1.(Donc il parcour le texte en entier)

    Edit: J'ai trouver la solution, pour les curieux, puisque le dernier ne finissait pas aucun charactère de la condition IF, il ne rentrait jamais dans le ELSE. Donc j'ai ajouter une condition dans le IF si il rencontrait la fin du fichier.

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    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 287
    Par défaut
    Ne jamais lire sur eof. (cf FAQ)
    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. [logiciel] ACDsee 7 : impossible de lire certaines images
    Par Eusebius dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 12/12/2005, 16h03
  2. Impossible de lire les enregistrements
    Par Bowen dans le forum ASP
    Réponses: 2
    Dernier message: 04/08/2005, 11h33
  3. impossible de lire 2 fois de suite un fichier
    Par porcher dans le forum C++
    Réponses: 8
    Dernier message: 14/02/2005, 01h44
  4. [VB.NET] Impossible de lire le contenu du datagrid
    Par jagdjg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/05/2004, 21h51
  5. [langage] recuperer le dernier mot dune ligne
    Par kacedda dans le forum Langage
    Réponses: 6
    Dernier message: 29/04/2003, 14h38

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