Namespaces
Variants

strcspn

From cppreference.net
< c ‎ | string ‎ | byte
Definido en el encabezado <string.h>
size_t strcspn ( const char * dest, const char * src ) ;

Devuelve la longitud del segmento inicial máximo de la cadena de bytes terminada en nulo apuntada por dest , que consiste únicamente en los caracteres no encontrados en la cadena de bytes terminada en nulo apuntada por src .

El comportamiento es indefinido si dest o src no son punteros 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
src - puntero a la cadena de bytes terminada en nulo que contiene los caracteres a buscar

Valor de retorno

La longitud del segmento inicial máximo que contiene solo caracteres no encontrados en la cadena de bytes terminada en nulo apuntada por src

Notas

El nombre de la función significa "span complementario" porque la función busca caracteres no encontrados en src , es decir, el complemento de src .

Ejemplo

#include <string.h>
#include <stdio.h>
int main(void)
{
    const char *string = "abcde312$#@";
    const char *invalid = "*$#";
    size_t valid_len = strcspn(string, invalid);
    if(valid_len != strlen(string))
       printf("'%s' contains invalid chars starting at position %zu\n",
               string, valid_len);
}

Salida:

'abcde312$#@' contains invalid chars starting at position 8

Referencias

  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.24.5.3 La función strcspn (p: 368)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.21.5.3 La función strcspn (p: 331)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.11.5.3 La función strcspn

Véase también

devuelve la longitud del segmento inicial máximo que consiste
únicamente en los caracteres encontrados en otra cadena de bytes
(función)
(C95)
devuelve la longitud del segmento inicial máximo que consiste
únicamente en caracteres anchos no encontrados en otra cadena ancha
(función)
encuentra la primera ubicación de cualquier carácter de una cadena, en otra cadena
(función)