Bonjour,

Je dois écrire 1 fonction recherchant tout d'abord un motif dans une chaîne de caractères et renvoyant la position des occurences.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
void recherche (char *texte, char *motif) {
  int i,j;
  for (i=0;i<strlen(texte);i++) {
    j=0;
    if (texte[i]==motif[j]) {
      printf("occurrence en position:%d\n",i);
      j=j+1;
    }
    else
      j=j+1;
  }
}
Ce code ne prends en compte que le premier caractère du motif pas les autres.
Par exemple, pour :
texte = bonjour
motif = oj
Il me renvoie seulement :
occurence en position 1
Alors que j'incrémente j donc je regarde les autres caractères du motif...
Que dois-je modifier?