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 et analyse de fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut Lecture et analyse de fichier
    salut,
    j'ai un fichier txt qui contient des chaîne de caractères, exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CDFX = RFRPAD7 
    CDFX = RFRPAD8/A8 
    CDFX = CDXRTD3/A3 
    CDFX = FGDTRE2 
    CDFX = ATZRSD5/A5
    je veux savoir si il existe une fonction en c++ qui me permet d'avoir le resultat suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CDFX = RFRPAD7 
    CDFX = RFRPAD8 
    CDFX = RFRPAA8 
    CDFX = CDXRTD3 
    CDFX = CDXRTA3 
    CDFX = FGDTRE2 
    CDFX = ATZRSD5 
    CDFX = ATZRSA5

    voila le code que j'ai testé :

    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
    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main()
    {
        ifstream fichier("slash.txt");
        if (fichier)
        {
            string ligne;
     
            while (getline(fichier,ligne))
            {
    			size_t pos=ligne.find_first_of("/");
    			string sousligne1=ligne.substr(0,pos);
    			string sousligne2=ligne.substr(pos+1);
    			string sousligne3=sousligne1.substr(0,sousligne1.size()-2).append(sousligne2);
     
    			cout<< sousligne1 << " " << sousligne3 << endl;
    		}
    	}
     
        fichier.close();
    }
    mais ça me donne pas le resultat que je veux car :

    exemple

    avec ce programme, j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RFRPAD7 RFRPAD7  // ça se double
    RFRPAD8 RFRPAA8
    le resultat que je doit avoir c'est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RFRPAD7
    RFRPAD8 RFRPAA8

    merçi d'avance pour votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Si tu dois dédoubler des chaines qui contiennent "/":
    Pourquoi chercher "-"?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    size_t pos=ligne.find_first_of("-");
    devrait être:
    size_t pos=ligne.find_first_of("/");
    Relis la boucle "while"...
    1 - Que se passe-t-il lorsque la chaine ne contient pas de "/"
    2 - Si on veut que le dédoublage produise des lignes séparées, il faut le dire:
    remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout<< sousligne1 << " " << sousligne3 << endl;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout<< sousligne1 << endl << sousligne3 << endl;
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut re
    oui je sais c'été just une erreur dans mon programme mais ça marche, et j'ai tjr le meme problém

    la ligne ou il n ya pa le slash se double et ce n'est pas ce que je veux

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut
    avec ce programme, j'obtiens

    Code :
    RFRPAD7 RFRPAD7 // ça se double
    RFRPAD8 RFRPAA8

    le resultat que je doit avoir c'est le suivant :

    Code :
    RFRPAD7
    RFRPAD8 RFRPAA8

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Je crois que c'est parce que tu n'as pas répondu à la question:

    Relis la boucle "while"...
    1 - Que se passe-t-il lorsque la chaine ne contient pas de "/"
    Ca devrait (à mon sens) faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    	  size_t pos=ligne.find_first_of("/");
    	  if (pos == string::npos)
    	    cout << ligne << endl;
    	  else {
    ...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Lecture et analyse de fichiers PDF
    Par Aymeric00 dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 31/10/2009, 13h52
  2. Commande pour analyser un fichier avec lex et yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 13/09/2005, 19h12
  3. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  4. Programme qui analyse un fichier log
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 20/08/2004, 14h27
  5. Optimisation de la lecture de tres gros fichiers
    Par Lydie dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/07/2004, 14h09

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