Namespaces
Variants

strchr

From cppreference.net
< c ‎ | string ‎ | byte
Definido en el encabezado <string.h>
char * strchr ( const char * str, int ch ) ;
(1)
/*QChar*/ * strchr ( /*QChar*/ * str, int ch ) ;
(2) (desde C23)
1) Encuentra la primera ocurrencia de ch (después de conversión a char como si fuera mediante ( char ) ch ) en la cadena de bytes terminada en nulo apuntada por str (cada carácter interpretado como unsigned char ). El carácter nulo terminador se considera parte de la cadena y puede encontrarse al buscar ' \0 ' .
2) Función genérica de tipos equivalente a (1) . Sea T un tipo de objeto de carácter no calificado.
  • Si str es de tipo const T * , el tipo de retorno es const char * .
  • De lo contrario, si str es de tipo T * , el tipo de retorno es char * .
  • De lo 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 usa ( strchr ) o un puntero a función), la declaración de función real (1) se hace visible.

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

Contenidos

Parámetros

str - puntero a la cadena de bytes terminada en nulo que se va a analizar
ch - carácter a buscar

Valor de retorno

Puntero al carácter encontrado en str , o puntero nulo si no se encuentra dicho carácter.

Ejemplo

#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
    }
}

Salida:

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

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.24.5.2 La función strchr (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.24.5.2 La función strchr (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.24.5.2 La función strchr (p: 367-368)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.21.5.2 La función strchr (p: 330)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.11.5.2 La función strchr

Véase también

busca en un array la primera ocurrencia de un carácter
(función)
encuentra la última ocurrencia de un carácter
(función)
encuentra la primera ubicación de cualquier carácter de una cadena en otra cadena
(función)