Trouver un mot dans un tableau de mot

Fermé
Lakaiz - 8 déc. 2020 à 16:26
[Dal] Messages postés 6185 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 juin 2024 - 9 déc. 2020 à 15:28
Bonjour,

Je suis en train de réaliser un programme en C pour faire une boite mail automatique. J'ai besoin de créer une fonction qui va trouver un mot-clé parmis mon corps de mail.
Mon corps de mail est un tableau stocké dans une structure que je vais écrire dans un fichier txt.
Mon mot-clé et également dans un fichier txt.
Je pense que la fonction est faisable en cherchant mes espaces dans mon corps de mail et en comparant les caractères qui sont entre mes espaces avec mon mot-clé pour voir si celui ci est bien dans le texte.

Si vous avez des liens ou des codes qui pourraient m'aider je suis prenneur.

Merci,

Configuration: Linux / Firefox 79.0
A voir également:

2 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 8 déc. 2020 à 16:52
Bonjour Lakaiz,

Je suis preneur...

En C, il existe une fonction pour chercher une sous-chaine de caractères dans une chaine,
pas besoin d'aller chercher les espaces entre les mots et comparer les caractères:

lecture mot_cle dans mots_cles.txt
lecture ligne dans corps_mail.txt
recherche mot_cle dans ligne
si pas trouvé : ligne suivante, etc ...
1
[Dal] Messages postés 6185 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 juin 2024 1 087
9 déc. 2020 à 15:25
Oui, mais si le mot clef est "tarte" peut-être qu'il ne veut pas que le programme réagisse à "starter", par exemple.

Donc une fonction de recherche de sous-chaîne simple comme
strstr()
n'est probablement pas souhaitable.
0
[Dal] Messages postés 6185 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 juin 2024 1 087
9 déc. 2020 à 15:28
Salut Lakaiz,

Tu devrais te documenter sur la fonction
strtok()
, elle permet, par appels successifs à cette fonction, de rechercher des séquences de caractères séparés par des caractères délimiteurs, par exemple le caractère espace.

Tu voudras probablement ajouter de la ponctuation aux caractères délimiteurs.

Dal
0