ai lu de poste au sujet de la recherche de mot dans une chaine de caractere.

j'ai testé le code donné et celui recherche juste une portion de code identique:
c'est a dire qu'il va dire avoir trouve le mot "cou" dans le mot "coucou" d'une des lignes du fichier txt.

je dois cree un historique de mes commandes utiliser sans les duplique

Je voulais donc savoir si il etait possible de force la recherche sur les chaines de caracteres de meme longeur.

j'ai essayer ca:
je decoupe donc mon texte ligne par ligne
puis mot par mot
je compare la taille d'un de ces mot a la taille de ma commande saisie
et contenue ds "entree"

je voulais donc savoir si sa vous parait correct


Si on a "cou" il va le comparer uniquement au mot de taille 3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
 
while(fgets(buffer,256,fd) != NULL)    // on passe ligne par ligne
     {
       temp = strtok(buffer, " ");
         if(strlen(temp)==strlen(entree))
                if(strstr(temp,entree) != NULL)  // on compare ligne par ligne a notre entree
                 {
                  trouve = 1;                      // la chaine a été trouvée
                  }
 
         temp = strtok(NULL, " ");
         while (temp !=NULL)
         {
            if(strlen(temp)==strln(entree))
               {
                 if(strstr(temp,entree) != NULL)  // on compare ligne par ligne a notre entree
                {
                 trouve = 1;                      // la chaine a été trouvée
                }
              }
           temp = strtok(NULL, " ");
         }
      }
   if(trouve != 1 ) // on a pas trouvé cette commande
   {
     printf("La commande %s n'a pas ete trouve\n", entree); //on l'ajoute a history
     fseek(fd,0,SEEK_END);
     fwrite(entree,strlen(entree),1,fd);
     fwrite("\n",1,1,fd);
     fclose(fd);
   }
  else
  {
    printf("Chaine trouvee on ne l'ajoute pas a history\n");
  }
lce code m'evide donc de dire que la saisie de "cou" a deja ete trouver ds "coucou"
mais il me trouve la commande "ls" dans "ls -l" qui pour moi sont 2commandes diffrentes