Namespaces
Variants

std:: strcspn

From cppreference.net
Definido en el encabezado <cstring>
std:: size_t strcspn ( const char * dest, const char * src ) ;

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

El nombre de la función significa "span complementario".

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 apuntada por src .

Ejemplo

#include <cstddef>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <string>
int main()
{
    std::string s = "abcde312$#@";
    const char* invalid = "*$#";
    const std::size_t valid_len = std::strcspn(s.c_str(), invalid);
    if (valid_len != s.size())
    {
        std::cout << std::quoted(s)
                  << " contiene caracteres no válidos comenzando en la posición "
                  << valid_len << '\n'
                  << std::string(valid_len + 1, '-') << "^\n";
    }
}

Salida:

"abcde312$#@" contiene caracteres no válidos comenzando en la posición 8
---------^

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)
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 un conjunto de separadores
(función)
encuentra la primera ocurrencia de caracteres
(función miembro pública de std::basic_string<CharT,Traits,Allocator> )
Documentación C para strcspn