Trouver un mot dans un tableau de mot

Lakaiz -  
[Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   -
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

2 réponses

  1. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    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 ...
    2
    1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      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.
      1
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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
    1