STRRCHR |
Caractère dans la chaîne inversé |
---|---|
Langage C++ | cstring (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».
Remarques
- Différence entre strrchr et strchr : Contrairement à strchr, renvoyant la première occurrence, strrchr renvoie la dernière. Exemple :
- Retourne un pointeur et non une copie : strrchr ne crée pas une nouvelle chaîne de caractères, elle retourne un pointeur vers la position trouvée dans la chaîne d'origine. Cela signifie que toute modification via ce pointeur modifie la chaîne d'origine. Exemple :
- Retourne nullptr si le caractère n'est pas trouvé : Si strrchr ne trouve pas le caractère, elle renvoie un pointeur nul (nullptr). Il est donc essentiel de toujours vérifier la valeur de retour avant de l'utiliser. Exemple :
- Prend un int pour représenter un char : Le deuxième paramètre (ch) est un int, mais il est traité comme un char. Cela permet de rechercher des caractères ASCII directement, y compris ceux entreposés sous forme de valeurs numériques. Exemple :
- Peut être utilisé pour rechercher des extensions de fichiers : Une application courante est de localiser le dernier point (.) dans un nom de fichier pour extraire son extension. Exemple :
- Alternative moderne : std::string::find_last_of : En C++, std::string offre une alternative plus lisible et sécurisée via find_last_of(). Exemple :
- std::string str = "Hello world!";
- size_t pos = str.find_last_of('o');
- if (pos != std::string::npos) std::cout << "Dernier 'o' à la position : " << pos;
- Attention aux chaînes nulles (nullptr) : Si str est un pointeur nul, l'utilisation de strrchr entraîne un comportement indéfini, pouvant causer un crash. Il est donc impératif de s'assurer que str est valide avant de l'appeler. Exemple dangereux :
Utile lorsqu'on veut trouver la fin d'une sous-chaîne ou rechercher le dernier séparateur.
Contrairement à strrchr, elle retourne un index plutôt qu'un pointeur.
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 : Lundi, le 3 août 2015