Extraire des mots dans un fichier en c
elwess20
Messages postés
28
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour mes amis,
je veut faire un programme qui me permet de extraire tous les mot qui sont situé après le mot "alors",mais je ne sais pas les fonction qui me permet de faire cette extraction
un exemple de fichier texte
dans cette exemple je veut extraire les 2 mots gris et rouge foncée,svp aider a résoudre ce problème
merci
je veut faire un programme qui me permet de extraire tous les mot qui sont situé après le mot "alors",mais je ne sais pas les fonction qui me permet de faire cette extraction
un exemple de fichier texte
si noir et blanc alors gris si rouge et noir alors rouge foncée
dans cette exemple je veut extraire les 2 mots gris et rouge foncée,svp aider a résoudre ce problème
merci
A voir également:
- Extraire des mots dans un fichier en c
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier 7z - Guide
- Fichier .dat - Guide
- Fichier rar - Guide
4 réponses
strcpy(str, "si noir et blanc alors gris ");
ptr= strstr(str,"alors");// ptr pointe sur le "a" de "alors"
ptr= strstr(str," ");// ptr pointe sur l'espace après "alors"
ptr++;
ptr pointera sur ta couleur.
ptr= strstr(str,"alors");// ptr pointe sur le "a" de "alors"
ptr= strstr(str," ");// ptr pointe sur l'espace après "alors"
ptr++;
ptr pointera sur ta couleur.
Slt, la solution est interressante mais comment faire pour copier les caractere en partant de la ou a pointer le pointeur jusqu'à la fin de la chaine.
Est ce qu'il y a un moyen de traiter s'il y a un autre "alors"?
Est ce qu'il y a un moyen de traiter s'il y a un autre "alors"?
je cherche le moyen de lire de rentrer dans une base les mot qui se situent avant un point virgule,par exemple mon fichier contient :
12;Mickael Jackson;45:23
il faut que j'arrive a rentrer dans ma base les mot 12, Mickael Jackson et 45:23,
si quelqu'un sait comment on peut faire, je lui serai vraiment reconnaissant.
12;Mickael Jackson;45:23
il faut que j'arrive a rentrer dans ma base les mot 12, Mickael Jackson et 45:23,
si quelqu'un sait comment on peut faire, je lui serai vraiment reconnaissant.
J'ai réussi a creer le parseur de fichier,voici le code:
Parcontre je ne sai pas comment inserer chaque mot dans une base de donnée, toute aide sera la bienvenu.
#include<conio.h>
#include <iostream>
#include <fstream>
#include <string>
#include <limits> // pour utiliser numeric_limits<int>::max()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main()
{
char *pointeur;
char *separateur = { ";" }; // Le séparateur
char *buffer;
ifstream fichier("Playlist.csv", ios::in);
if(!fichier.fail())
{
string ligne;
while(getline(fichier, ligne))
{
int nb_mot=1;
size_t size = ligne.size() + 1;
char * tampon = new char[ size ];
// copier la chaîne
strncpy( tampon, ligne.c_str(), size );
buffer = strdup ( tampon );
// premier appel,
pointeur = strtok( buffer, separateur );
printf (" Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
while( pointeur != NULL )
{
// Cherche les autres separateur
pointeur = strtok( NULL, separateur );
if ( pointeur != NULL )
{
nb_mot++; // increment du nombre de mot
printf ("Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
}
}
}
fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier !" << endl;
getchar();
}
Parcontre je ne sai pas comment inserer chaque mot dans une base de donnée, toute aide sera la bienvenu.