Namespaces
Variants

strpbrk

From cppreference.net
< c ‎ | string ‎ | byte
Défini dans l'en-tête <string.h>
char * strpbrk ( const char * dest, const char * breakset ) ;
(1)
/*QChar*/ * strpbrk ( /*QChar*/ * dest, const char * breakset ) ;
(2) (depuis C23)
1 ) Analyse la chaîne d'octets terminée par un zéro pointée par dest pour tout caractère de la chaîne d'octets terminée par un zéro pointée par breakset , et retourne un pointeur vers ce caractère.
2) Fonction générique de type équivalente à (1) . Soit T un type d'objet caractère non qualifié.
  • Si dest est de type const T * , le type de retour est const char * .
  • Sinon, si dest 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 ( strpbrk ) ou un pointeur de fonction est utilisé), la déclaration de fonction réelle (1) devient visible.

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

Table des matières

Paramètres

dest - pointeur vers la chaîne d'octets terminée par un caractère nul à analyser
breakset - pointeur vers la chaîne d'octets terminée par un caractère nul qui contient les caractères à rechercher

Valeur de retour

Pointeur vers le premier caractère dans dest , qui se trouve également dans breakset , ou pointeur nul si aucun tel caractère n'existe.

Notes

Le nom signifie « pointeur de chaîne de rupture », car il renvoie un pointeur vers le premier des caractères séparateurs (« rupture »).

Exemple

#include <stdio.h>
#include <string.h>
int main(void)
{
    const char* str = "hello world, friend of mine!";
    const char* sep = " ,!";
    unsigned int cnt = 0;
    do
    {
       str = strpbrk(str, sep); // find separator
       if(str) str += strspn(str, sep); // skip separator
       ++cnt; // increment word count
    }
    while(str && *str);
    printf("There are %u words\n", cnt);
}

Sortie :

There are 5 words

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.24.5.4 La fonction strpbrk (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.24.5.4 La fonction strpbrk (p: TBD)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.24.5.4 La fonction strpbrk (p: 368)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.21.5.4 La fonction strpbrk (p: 331)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.11.5.4 La fonction strpbrk

Voir aussi

retourne la longueur du segment initial maximal qui consiste
uniquement en caractères non trouvés dans une autre chaîne d'octets
(fonction)
trouve la première occurrence d'un caractère
(fonction)
trouve le jeton suivant dans une chaîne d'octets
(fonction)
Documentation C++ pour strpbrk