Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : à l'aide pour fusioné la fonction getline + fct strtok [ Divers / Général ] (yanlou)

vendredi 4 juillet 2008 à 12:26:25 | à l'aide pour fusioné la fonction getline + fct strtok

yanlou

salut,
voici mon problmé, je veux lire un fichier txt, je le fais avec la fonction getline. voici le code :

#include <string>
#include <fstream>
#include <iostream>

int main()
{
    // le constructeur de ifstream permet d'ouvrir un fichier en lecture
    std::ifstream fichier( "strtok esséye.txt" );

    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
        std::string ligne; // variable contenant chaque ligne lue

        // cette boucle s'arrête dès qu'une erreur de lecture survient
        while ( std::getline( fichier, ligne ) )
        {
            // afficher la ligne à l'écran
            std::cout << ligne << std::endl;
        }
    }
}


le fichier que je lis contient des chaine de caractére comme suit :
123à12123
1à143
123à2352

et j'ai la fonction strtok qui m'enléve le caractére "à" et qui m'afiche seulement les chiffre, dans le code est

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
main ( )
{
char *pointeur;
char *separateur = { "à" };
char  *buffer;
char    *Chaine_Entrante="2063à2093";
 
buffer = strdup ( Chaine_Entrante );

pointeur = strtok( buffer, separateur  );
cout<<"\n CIC : "<< pointeur;
    
while( pointeur != NULL )
{
pointeur = strtok( NULL, separateur  );
if ( pointeur != NULL )
{
cout<<"\n CIC : "<<pointeur<<"\n";
}
}
      
return 0 ;
}


ma question est: est ce que vous pouvez m'aidé pour que je lis mon fichier txt ligne par ligne et que j'obtient seulement les chifre sans le caractére "à"

j'espére que j'été claire pour ma question
merçi pour votre aide

maximus

vendredi 4 juillet 2008 à 14:13:34 | Re : à l'aide pour fusioné la fonction getline + fct strtok

buno

Réponse acceptée !
Et ben? Tu ne vois vraiment pas?
Bon, on récapitule:
- tu as un code qui, à chaque itération, affiche une ligne d'un fichier
- tu as un code qui récupère des chiffres dans une chaine de caractères
Si tu mets l'action de la 2e phrase dans la 1ère, tu obtiens quoi?

Tu vois ce que je sous-entend?
Bien sûr, il y a une petite conversion de données à faire...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

vendredi 4 juillet 2008 à 14:38:19 | Re : à l'aide pour fusioné la fonction getline + fct strtok

yanlou

Réponse acceptée !

merçi pour la réponse mais je comprend ce que vous dite, le probléme c'st que je n'arrive pas a récupèré les chiffres à partir des ligne de mon fichier txt !!

maximus

vendredi 4 juillet 2008 à 15:35:43 | Re : à l'aide pour fusioné la fonction getline + fct strtok

buno

Réponse acceptée !
Bon, ok.
J'avais un peu de temps devant moi, j'ai donc écrit le code suivant

#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
    // le constructeur de ifstream permet d'ouvrir un fichier en lecture
    ifstream fichier("test.txt");

    if (fichier) // ce test échoue si le fichier n'est pas ouvert
    {
        string ligne; // variable contenant chaque ligne lue

        // cette boucle s'arrête dès qu'une erreur de lecture survient
        while (getline(fichier,ligne))
        {
            // afficher la ligne à l'écran
            cout << ligne << endl;

            // Récupération de la position du séparateur
            size_t pos=ligne.find_first_of("à");

            // la sous-chaine de gauche donne le 1er entier
            int a=atoi(ligne.substr(0,pos).data());

            // la sous-chaine de droite, le second
            int b=atoi(ligne.substr(pos+1).data());

            // Affichage du résultat
            cout << a << "  " << b << endl;
        }
    }

    fichier.close();
}

A noter que:
- "à123" retourne "0  123"
- "123à" retourne "123  0"
- "123" retourne "123  123"
- "à" retourne "0  0"

ça te va?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

vendredi 4 juillet 2008 à 15:51:00 | Re : à l'aide pour fusioné la fonction getline + fct strtok

yanlou

Réponse acceptée !

merçi pour votre aidé, je vous suis reconnaissent
maximus



Cette discussion est classé dans : fichier, ligne, include, pointeur, strtok


Répondre à ce message

Sujets en rapport avec ce message

Récupérer string pointée par un pointeur, strtok [ par boudafc ] Voilà, j'ai un pb dont je ne trouve pas la solution ! je galère, ça fait 2 jours ...donc, ce que je voudrais faire (je suis sûr que c'est tout con en Lecture d'un fichier et affichage de balises [ par SpiritAnghell ] Bonjour;Le programme suivant est censé extraire les balises d'un fichier xml et les afficher une par une:#include #include #include #include #include Lecture fichier texte en c++ builder ( débutant ) [ par m1b ] Hello, Je sais il y a beaucoup  de post sur la lecture des fichiers textes, je les ai lus mais je n'ai pas réussi à m'en sortir... ( je suis débutant C pointeur dans un fichier [ par Yunchi ] Bonjour, J'aimerai savoir s'il est possible lors d'une lecture dans un fichier de revenir plus haut dans le fichier. Par exemple on fait des gets don ecrire dans un fichier [ par guiillt ] Bonjour,j'aimerai lire un fichier ligne par ligne et ensuite ecrire ces lignes dans une autre fichier,le probleme c'est qu'il ecrase systematiquement c++ urgence svp [ par yanlou ] maximus salut,j'ai u fichier txt qui contient des chaine de caracté, exemple :RFRPAD7RFRPAD8/A8 Comparer 2 fichiers textes rapidement [ par chtitpierre78 ] Bonjour,Suite à un premier poste, dont le titre ne correspond pas du tout a ma demande, je re-poste ici, en espérant trouver  solution à mon problème. find_first_of("/"); probléme de recupuration d'une chaine de caractére dans une ligne [ par yanlou ] salut, svp si quelqu'un peux m'aidé, pour récupuré une chaine de caracté dans une ligne, le probléme c'est qu'il ya des critéreexemple de la chaine de Chercher un string dans un fichier texte ? [ par chtitpierre78 ] Bonjour,Je développe actuellement un outils en C++ (VisualC++) qui me permet de comparer 2 fichiers textes (.txt) d'environ 4Mo chacun (soit environ 6 Recuperer PID de l'appli et ecrire dans un fichier [ par Metalbobinou ] Bonsoir,Alors voila, vu que j'ai du mal en C, et que cela va etre necessaire que j'en fasse pour mes etudes, j'ai decide de m'y mettre.J'ai voulu fair


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,170 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.