Chercher un mot dnas un fichier
Fermé
Bimoil
Messages postés
29
Date d'inscription
samedi 3 octobre 2020
Statut
Membre
Dernière intervention
21 novembre 2020
-
Modifié le 19 nov. 2020 à 15:30
Bimoil Messages postés 29 Date d'inscription samedi 3 octobre 2020 Statut Membre Dernière intervention 21 novembre 2020 - 21 nov. 2020 à 16:06
Bimoil Messages postés 29 Date d'inscription samedi 3 octobre 2020 Statut Membre Dernière intervention 21 novembre 2020 - 21 nov. 2020 à 16:06
A voir également:
- Chercher un mot dnas un fichier
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
3 réponses
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
19 nov. 2020 à 07:11
19 nov. 2020 à 07:11
Bonjour,
Pour rechercher si un mot est dans un fichier, il faut :
- parcourir toutes lignes du fichier
- rechercher si le mot est dans une de ces lignes.
Pour lire une ligne d'un fichier, il y a la fonction :
Pour chercher un mot dans une ligne ça dépend de la structure de la ligne. C'est immédiat si la ligne n'a qu'un seul mot :
Pour rechercher si un mot est dans un fichier, il faut :
- parcourir toutes lignes du fichier
- rechercher si le mot est dans une de ces lignes.
Pour lire une ligne d'un fichier, il y a la fonction :
std::getline(fichier, ligne_du_fichier);. Cette fonction a pour valeur de retour le fichier et si on le teste comme un booléen il indique
truetant que quelque chose à été lu, et
falsesinon. Pour lire toutes les lignes, on peut faire :
while ( std::getline(fichier, ligne_du_fichier) ) { .... utiliser ligne_du_fichier .... }
Pour chercher un mot dans une ligne ça dépend de la structure de la ligne. C'est immédiat si la ligne n'a qu'un seul mot :
if ( mot == ligne_du_fichier ) { .... le mot été trouvé .... }Sinon c'est un peu plus complexe...
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
20 nov. 2020 à 19:09
20 nov. 2020 à 19:09
c'est en effet plus simple d'y aller mot dans ce cas
Bimoil
Messages postés
29
Date d'inscription
samedi 3 octobre 2020
Statut
Membre
Dernière intervention
21 novembre 2020
20 nov. 2020 à 22:17
20 nov. 2020 à 22:17
Et quelle est la fonction pour y aller mot a mot ? Je sais que pour faire caractère par caractère c'est get(). Mes mot par mot je ne trouve pas.
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
21 nov. 2020 à 14:26
21 nov. 2020 à 14:26
Je ne l'ai pas indiquée car c'est celle que tu as mise dans ton exemple!
bool le_mot_a_ete_trouve{}; // a priori n'a pas été trouvé std::ifstream fichier("Dossier.txt"); if ( fichier ) { std::string mot_du_fichier; while ( fichier >> mot_du_fichier ) { // lecture d'un mot du fichier if ( mot_a_chercher == mot_du_fichier ) { le_mot_a_ete_trouve = true; // on a fini par le trouver break; // inutile de continuer le parcours } } }
Bimoil
Messages postés
29
Date d'inscription
samedi 3 octobre 2020
Statut
Membre
Dernière intervention
21 novembre 2020
Modifié le 21 nov. 2020 à 16:50
Modifié le 21 nov. 2020 à 16:50
Merci, est ce qu'il ce peut qu'il vous manque un cin qui demande le mot a l'utilisateur ?
And je ne comprend pas cette partie if ( mot_a_chercher == mot_du_fichier ). Est ce que tu as déclarer une variable mot a chercher ?
And je ne comprend pas cette partie if ( mot_a_chercher == mot_du_fichier ). Est ce que tu as déclarer une variable mot a chercher ?
Modifié le 19 nov. 2020 à 15:26