Recherche d'un mot dans un fichier
muntu
-
Drerrawyn Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Drerrawyn Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Au fait j'aimerai lire un fichier. Ce fichier comporte des lignes de mots. Ces mots sont des nom de poste (PO). Et chaque poste a un sous poste.
J'aimerai lire ce fichier (ce que j'ai réussi à faire) mais je dois afficher selon la hiérarchie des postes :
Exemple de contenu de mon fichier :
PO energie
PO electricite energie
et je dois lire automatiquement et afficher ça :
poste energie
poste electricité sous-poste energie
Au fait j'aimerai lire un fichier. Ce fichier comporte des lignes de mots. Ces mots sont des nom de poste (PO). Et chaque poste a un sous poste.
J'aimerai lire ce fichier (ce que j'ai réussi à faire) mais je dois afficher selon la hiérarchie des postes :
Exemple de contenu de mon fichier :
PO energie
PO electricite energie
et je dois lire automatiquement et afficher ça :
poste energie
poste electricité sous-poste energie
A voir également:
- Recherche d'un mot dans un fichier
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Fichier rar - Guide
- Ouvrir un fichier .dat - Guide
2 réponses
Au fait je dois faire une recherche à partir du mot clé qui est PO (poste) puis lire sur chaque ligne les mots qui suivent. C'est à dire si je lis PO dans le fichier je sais que le mot qui suivra est poste pricipal puis le mot d'après un sous poste. Mais en c++ je ne sais pas comment le faire
Tu peux utiliser la methode std::string::find.
Voilà son prototype: size_t find (const string& str, size_t pos = 0) const;
Un petit exemple non testé qui devrait marcher:
Voilà son prototype: size_t find (const string& str, size_t pos = 0) const;
Un petit exemple non testé qui devrait marcher:
string str; while(getline(fichier, str)){ // Chaine venant du fichier stocké dans la string str size_t found = str.find("pos"); if(found!= std::string::npos) // Si la place de la chaine n'est pas la fin de la string cout << str; }