bonjour,
j'ai une question: est-ce qu'il existe une fonction prédéfini en C qui calcule le nombre d’occurence d'une sous-chaine dans une chaine de caractère?j'ai cherché mais je n'ai pas trouvé je qu'il faut implémenter??
merci
bonjour,
j'ai une question: est-ce qu'il existe une fonction prédéfini en C qui calcule le nombre d’occurence d'une sous-chaine dans une chaine de caractère?j'ai cherché mais je n'ai pas trouvé je qu'il faut implémenter??
merci
Bonjour,
Dans la libc il n'y a pas de fonction qui compte le nombre d'accurence d'une chaine dans une autre. Elle peut s'implémenter facilement avec strstr par exemple.
oui mais strst() retourne que la première occurence de la sous-chaine dans une chaine.comment faire des autres dans une même chaine???
La man page de strstr indique :
En gros, si strstr ne renvoie pas NULL alors le pointeur renvoyé pointe dans la chaîne de départ l'endroit où la chaine cherchée apparaît. Tu peux utiliser le pointeur renvoyé pour relancer une recherche «un peu plus loin»Envoyé par strstr.3
Par exemple, si tu cherches c="bon" dans la chaîne s="Amis du jour, bonjour! amis du soir, bonsoir!" trouve=strstr(s,c) alors trouve pointera sur le b de bonjour, trouve+1 pointera donc sur le o qui suit ce b ... appeler ensuite trouve=strstr(trouve,c) fera pointer trouve sur le b de bonsoir, ainsi de suite.
Partager