Namespaces
Variants

std::ctype <char> :: scan_not

From cppreference.net
Definido en el encabezado <locale>
const char * scan_not ( mask m, const char * beg, const char * end ) const ;

Localiza el primer carácter en el arreglo de caracteres [ beg , end ) que no satisface la máscara de clasificación m , es decir, el primer carácter c tal que table ( ) [ ( unsigned char ) c ] & m devolvería false .

Si ( unsigned char ) c >= std:: ctype < char > :: table_size , entonces se sustituye un valor definido por la implementación en lugar de table ( ) [ ( unsigned char ) c ] , posiblemente diferente para distintos valores de c .

Contenidos

Parámetros

m - máscara a buscar
beg - puntero al primer carácter en un array de caracteres a buscar
end - puntero una posición después del final para el array de caracteres a buscar

Valor de retorno

Puntero al primer carácter en [ beg , end ) que no satisface la máscara, o end si no se encontró dicho carácter.

Notas

A diferencia de la plantilla principal std:: ctype , esta especialización no realiza una llamada a función virtual al clasificar caracteres. Para personalizar el comportamiento, una clase derivada puede proporcionar una tabla de clasificación no predeterminada al constructor de la clase base.

Ejemplo

#include <iostream>
#include <iterator>
#include <locale>
int main()
{
    auto& f = std::use_facet<std::ctype<char>>(std::locale());
    // omitir espacios en blanco iniciales
    char s1[] = "      \t\t\n  Test";
    const char* p1 = f.scan_not(std::ctype_base::space, std::begin(s1), std::end(s1));
    std::cout << '\'' << p1 << "'\n";
    // omitir dígitos iniciales
    char s2[] = "123456789abcd";
    const char* p2 = f.scan_not(std::ctype_base::digit, std::begin(s2), std::end(s2));
    std::cout << '\'' << p2 << "'\n";
}

Salida:

'Test'
'abcd'

Véase también

[virtual]
localiza el primer carácter en una secuencia que no cumple con la clasificación dada
(función miembro protegida virtual de std::ctype<CharT> )
localiza el primer carácter en una secuencia que se ajusta a la clasificación dada, utilizando la tabla de clasificación
(función miembro pública)