STRRCHR |
Caractère dans la chaîne inversé |
---|---|
Langage C | string.h |
Syntaxe
char *strrchr(const char *str,int c); |
Paramètres
Nom | Description |
---|---|
str | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ dans lequel la recherche est effectué. |
c | Ce paramètre permet d'indiquer le caractère à trouver. |
Description
Cette fonction effectue la recherche du dernière caractère «c» dans la chaîne de caractères «str».
Algorithme
MODULE STRRCHR(str, c) dernier_occu ← NULL BOUCLE POUR CHAQUE caractère ch dans str FAIRE SI ch = c ALORS dernier_occu ← l'adresse de ch FIN SI FIN BOUCLE POUR CHAQUE * Retourne NULL si aucun caractère n'a été trouvé RETOURNE dernier_occu |
Remarques
- Recherche à partir de la fin de la chaîne de caractères : Contrairement à strchr, recherchant le premier caractère trouvé, strrchr part de la fin de la chaîne et recherche la dernière occurrence du caractère spécifié. Cela est particulièrement utile lorsque vous souhaitez trouver le dernier délimiteur dans une chaîne de caractères ou effectuer une recherche inverse.
- Sensibilité à la casse : strrchr est sensible à la casse, ce qui signifie que les caractères 'A' et 'a' seront considérés comme différents. Si vous devez effectuer une recherche insensible à la casse, vous devrez peut-être convertir la chaîne ou le caractère à rechercher dans une seule casse avant d'utiliser la fonction.
- Valeur de retour : Si le caractère c est trouvé dans la chaîne de caractères str, strrchr retourne un pointeur vers la dernière occurrence de c. Si le caractère n'est pas trouvé, la fonction renvoie NULL. Cela permet de savoir si un caractère spécifique est présent dans la chaîne de caractères, et si oui, de localiser sa dernière apparition.
- Comportement avec des chaînes de caractères vides : Si la chaîne de caractères str est vide, strrchr renverra immédiatement NULL, car il n'y a aucun caractère à rechercher. Cela peut être utilisé pour détecter les chaînes non initialisées ou pour tester la validité d'un texte avant d'effectuer des opérations de recherche.
- Applications pratiques : strrchr est couramment utilisée dans les applications nécessitant une recherche de caractères en partant de la fin d'une chaîne de caractères, comme lors de la recherche du dernier séparateur dans un chemin de fichier ou dans des données structurées. Elle peut être utilisée pour extraire des sous-chaînes après un dernier délimiteur spécifique.
- Performances et complexité : Comme pour d'autres fonctions de recherche dans les chaînes, la complexité de strrchr est linéaire, soit O(n), où n est la longueur de la chaîne de caractères. En effet, la fonction parcourt la chaîne de caractères à l'envers, ce qui peut être moins efficace que d'autres types de recherche dans des chaînes de caractères de grande taille.
- Utilisation avec des caractères spéciaux : strrchr peut être utilisée pour rechercher des caractères spéciaux (comme des espaces, des tabulations, des sauts de ligne, ou des caractères non imprimables) dans une chaîne. Cela permet de traiter efficacement des chaînes complexes où les caractères spéciaux jouent un rôle important, comme dans les fichiers de configuration ou les chemins d'accès.
Voir également
Langage de programmation - C - Référence de procédures et fonctions - strcspn
Langage de programmation - C - Référence de procédures et fonctions - strchr
Langage de programmation - C++ - Référence de procédures et fonctions - strrchr
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 735.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 264.
Dernière mise à jour : Mardi, le 28 juillet 2015