Biblioteca C ++ Locale - scan_not
Descrição
Ele retorna o primeiro caractere que não está na categoria e retorna o primeiro caractere no intervalo [baixo, alto) que não se classifica em nenhuma das categorias especificadas em m. Se nenhum caractere for encontrado no intervalo, alto será retornado.
Declaração
A seguir está a declaração para std :: ctype :: scan_not.
C ++ 98
const char_type* scan_not (mask m, const char_type* low, const char_type* high) const;
C ++ 11
const char_type* scan_not (mask m, const char_type* low, const char_type* high) const;
Parâmetros
m - É uma máscara de bits de máscara de tipo de membro.
low,high - É um ponteiro para o início e o fim da sequência de caracteres.
Valor de retorno
Ele retorna um ponteiro para o primeiro elemento no intervalo que classifica, ou alto se nenhum for encontrado.
Exceções
Strong guarantee - se uma exceção é lançada, não há efeitos.
Corridas de dados
O objeto e os elementos no intervalo [baixo, alto) são acessados.
Exemplo
No exemplo a seguir, explica sobre std :: ctype :: scan_not.
#include <iostream>
#include <locale>
int main () {
std::locale loc;
const char period[] = "june2018";
const char * p = std::use_facet< std::ctype<char> >(loc).scan_not
( std::ctype<char>::alpha, period, period+12 );
std::cout << "The first non-alphabetic character is: " << *p << '\n';
return 0;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
The first non-alphabetic character is: 2