#include <string.h> // <cstring> en C++
const char * strstr( const char * fullString, const char * substring ); // C++ (<cstring>)
char * strstr( char * fullString, char * substring ); // C (<string.h>)
La fonction strstr recherche la première occurrence d'une sous-chaîne (paramètre substring) dans la chaîne de caractères
principale (paramètre fullString).
Si la sous-chaîne est trouvée dans la chaîne principale, la fonction renvoi un pointeur visant sa première occurrence.
Dans le cas contraire, un pointeur nul (NULL) vous sera renvoyé.
L'exemple de code suivant cherche à vérifier si vous avez bien indiqué le mot « admin » dans la ligne saisie au clavier.
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 |
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { // On cherche à lire une ligne de texte à partir du clavier. char buffer[ 255 ]; printf( "Veuillez saisir une ligne de texte contenant le mot \"admin\" : \n" ); scanf( "%[^\n]", buffer ); // Pour supprimer le caractère '\n' du flux pour la prochaine lecture. fgetc( stdin ); // Recherche de la présence de la chaîne "admin" dans la saisie. char * result = strstr( buffer, "admin" ); // Affichage d'une réponse à l'utilisateur. if ( result == NULL ) { puts( "Vous n'avez pas saisi le mot admin" ); } else { puts( "La chaîne contient le mot admin" ); } return EXIT_SUCCESS; } |
Et voici le résultat produit par cet exemple :
$> gcc -o sample sample.c $> ./sample Veuillez saisir une ligne de texte contenant le mot "admin" : Toto est un admin de fou ! La chaîne contient le mot admin $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :