Namespaces
Variants

strpbrk

From cppreference.net
< c ‎ | string ‎ | byte
Definido en el encabezado <string.h>
char * strpbrk ( const char * dest, const char * breakset ) ;
(1)
/*QChar*/ * strpbrk ( /*QChar*/ * dest, const char * breakset ) ;
(2) (desde C23)
1 ) Escanea la cadena de bytes terminada en nulo apuntada por dest en busca de cualquier carácter de la cadena de bytes terminada en nulo apuntada por breakset , y devuelve un puntero a ese carácter.
2) Función genérica de tipos equivalente a (1) . Sea T un tipo de objeto carácter no calificado.
  • Si dest es de tipo const T * , el tipo de retorno es const char * .
  • En caso contrario, si dest es de tipo T * , el tipo de retorno es char * .
  • En caso contrario, el comportamiento es indefinido.
Si se suprime la definición de macro de cada una de estas funciones genéricas para acceder a una función real (por ejemplo, si se utiliza ( strpbrk ) o un puntero a función), la declaración de función real (1) se hace visible.

El comportamiento es indefinido si dest o breakset no es un puntero a una cadena de bytes terminada en nulo.

Contenidos

Parámetros

dest - puntero a la cadena de bytes terminada en nulo que se va a analizar
breakset - puntero a la cadena de bytes terminada en nulo que contiene los caracteres a buscar

Valor de retorno

Puntero al primer carácter en dest , que también está en breakset , o puntero nulo si no existe tal carácter.

Notas

El nombre significa "puntero de cadena de ruptura", porque devuelve un puntero al primero de los caracteres separadores ("break").

Ejemplo

#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); // encontrar separador
       if(str) str += strspn(str, sep); // saltar separador
       ++cnt; // incrementar contador de palabras
    }
    while(str && *str);
    printf("There are %u words\n", cnt);
}

Salida:

There are 5 words

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.24.5.4 La función strpbrk (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.24.5.4 La función strpbrk (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.24.5.4 La función strpbrk (p: 368)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.21.5.4 La función strpbrk (p: 331)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.11.5.4 La función strpbrk

Véase también

devuelve la longitud del segmento inicial máximo que consiste
únicamente en caracteres no encontrados en otra cadena de bytes
(función)
encuentra la primera ocurrencia de un carácter
(función)
encuentra el siguiente token en una cadena de bytes
(función)