Pour compléter le réponse précédente :
strstr() retourne NULL si la sosu-chaine n'est pas trouvée ou si elle est trouvée l'adresse du début de la sous-chaine dans la chaine.
Ceci étant, il faut savoir si on considère le cas où une deuxième sous-chaine peut débuter à l'intérieur de la première sous-chaine.
Par exemple chaine : "xxxabababxxx" , sous-chaine : "aba" 
Une premiere sous-chaine est trouvée en "xxxaba..." Peut-on considérer que la deuxième est en "xxxababa", donc inclus le dernier caractère de la première sous-chaine ou qu'il n'y a pas de deuxième sous-chaine à partir de la fin de la première ?
- Dans le premier cas, 
  1- initialiser le pointeur p à l'adresse du début de la chaine
  2- rechercher la sous-chaine à partir de p
  - si on en trouve une débutant en p, faire p = p+1 et recommencer en 2.
  - sinon, il n'y en a plus.
					
Partager