#include <string.h> // <cstring> en C++
char * strchr( const char * string, int searchedChar );
Cette fonction recherche la première occurrence du caractère passé en second paramètre dans la chaîne de caractères spécifiée via le premier paramètre.
strchr
est très proche de la fonction strrchr
. La différence réside dans le fait que
strchr
renvoi la position de la première occurrence du caractère recherché alors que strrchr
renvoi la dernière occurrence
(recherche par la droite : r signifiant right).
Soit le caractère recherché est présent dans la chaîne et, dans ce cas, un pointeur sur la première occurrence du caractère vous sera retourné.
Soit le caractère n'est pas présent dans la chaîne et dans ce cas, le pointeur NULL
vous sera renvoyé.
L'exemple de code suivante cherche à remplacer toutes les occurences de la lettre 'a' (en minuscule) par la lettre 'A' (en majuscule).
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { const char * source = "The C Language"; char * destination; char * pointer; int length = strlen( source ); /* We clone the inital string */ destination = (char *) malloc( sizeof( char) * (length+1) ); strcpy( destination, source ); /* We replace all 'a' characters */ while (pointer = strchr( destination, 'a' ) ) { *pointer = 'A'; } /* Display result : The C LAnguAge */ printf( "Result : %s\n", destination ); /* Release dynamicly allocated memory */ free( destination ); return 0; }
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 :