Namespaces
Variants

strrchr

From cppreference.net
< c ‎ | string ‎ | byte
Défini dans l'en-tête <string.h>
char * strrchr ( const char * str, int ch ) ;
(1)
/*QChar*/ * strrchr ( /*QChar*/ * str, int ch ) ;
(2) (depuis C23)
1) Trouve la dernière occurrence de ch (après conversion en char comme par ( char ) ch ) dans la chaîne d'octets terminée par un caractère nul pointée par str (chaque caractère étant interprété comme unsigned char ). Le caractère nul de fin est considéré comme faisant partie de la chaîne et peut être trouvé si on recherche ' \0 ' .
2) Fonction générique de type équivalente à (1) . Soit T un type d'objet caractère non qualifié.
  • Si str est de type const T * , le type de retour est const char * .
  • Sinon, si str est de type T * , le type de retour est char * .
  • Sinon, le comportement est indéfini.
Si une définition de macro de chacune de ces fonctions génériques est supprimée pour accéder à une fonction réelle (par exemple si ( strrchr ) ou un pointeur de fonction est utilisé), la déclaration de fonction réelle (1) devient visible.

Le comportement n'est pas défini si str n'est pas un pointeur vers une chaîne d'octets terminée par un caractère nul.

Table des matières

Paramètres

str - pointeur vers la chaîne d'octets terminée par un caractère nul à analyser
ch - caractère à rechercher

Valeur de retour

Pointeur vers le caractère trouvé dans str , ou pointeur nul si aucun caractère n'est trouvé.

Exemple

#include <stdio.h>
#include <string.h>
int main(void)
{
    char szSomeFileName[] = "foo/bar/foobar.txt";
    char* pLastSlash = strrchr(szSomeFileName, '/');
    char* pszBaseName = pLastSlash ? pLastSlash + 1 : szSomeFileName;
    printf("Base Name: %s", pszBaseName);
}

Sortie :

Base Name: foobar.txt

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.24.5.5 La fonction strrchr (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.24.5.5 La fonction strrchr (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.24.5.5 La fonction strrchr (p: 368-369)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.21.5.5 La fonction strrchr (p: 331)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.11.5.5 La fonction strrchr

Voir aussi

trouve la première occurrence d'un caractère
(fonction)
trouve la première occurrence de n'importe quel caractère d'une chaîne dans une autre chaîne
(fonction)
Documentation C++ pour strrchr