Namespaces
Variants

strchr

From cppreference.net
< c ‎ | string ‎ | byte
Défini dans l'en-tête <string.h>
char * strchr ( const char * str, int ch ) ;
(1)
/*QChar*/ * strchr ( /*QChar*/ * str, int ch ) ;
(2) (depuis C23)
1) Trouve la premiè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é lors de la recherche de ' \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 ( strchr ) 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 correspondant n'est trouvé.

Exemple

#include <stdio.h>
#include <string.h>
int main(void)
{
    const char *str = "Try not. Do, or do not. There is no try.";
    char target = 'T';
    const char* result = str;
    while((result = strchr(result, target)) != NULL)
    {
        printf("Found '%c' starting at '%s'\n", target, result);
        ++result; // Increment result, otherwise we'll find target at the same location
    }
}

Sortie :

Found 'T' starting at 'Try not. Do, or do not. There is no try.'
Found 'T' starting at 'There is no try.'

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.24.5.2 La fonction strchr (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.24.5.2 La fonction strchr (p: TBD)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.24.5.2 La fonction strchr (p: 367-368)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.21.5.2 La fonction strchr (p: 330)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.11.5.2 La fonction strchr

Voir aussi

recherche dans un tableau la première occurrence d'un caractère
(fonction)
trouve la dernière occurrence d'un caractère
(fonction)
trouve la première position de n'importe quel caractère d'une chaîne dans une autre chaîne
(fonction)