#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 :