c character classification
Este tutorial explica as funções de transformação e caracteres C ++ com exemplos. Algumas funções importantes abrangidas são isdigit, islower, isupper, isalpha etc .:
Em nosso tutorial anterior sobre “funções de biblioteca”, vimos os vários cabeçalhos que fornecem inúmeras funções que operam em diferentes tipos de dados. O cabeçalho é um desses cabeçalhos que contém um conjunto de funções que classificam e manipulam caracteres individuais.
=> Visite aqui para aprender C ++ do zero.
As funções declaradas no cabeçalho, recebem um único caractere (equivalente int) como parâmetro e retornam um valor inteiro que pode ser um valor booleano ou um valor de caractere. Um valor 0 (zero) indica falso enquanto um valor diferente de 0 (diferente de zero) indica verdadeiro.
Essas funções de caractere único podem ser usadas no programa incluindo o cabeçalho. Essas funções são amplamente utilizadas e aceitas e são extremamente úteis na programação C ++ para testar e transformar ou manipular caracteres.
Neste tutorial, discutiremos as várias funções de caractere e veremos como cada uma dessas funções pode ser usada em um programa.
O que você aprenderá:
Funções de caracteres C ++
As funções de caracteres C ++ são as funções que usam apenas um único caractere como parâmetro (convertido em int) e retornam um resultado. Podem ser funções de classificação como isalpha, isalnum, isdigit, islower, isupper, etc., para citar alguns, e funções de transformação como toupper e tolower, que transformam um determinado caractere em maiúsculas ou minúsculas, respectivamente.
No cabeçalho, temos dois tipos de funções definidas conforme declarado abaixo.
(i) Funções de classificação de caracteres
As funções de classificação de caracteres são usadas para verificar se o único caractere passado como um argumento para a função pertence a uma determinada categoria.
Tabularizamos as funções de classificação de caracteres incluídas no cabeçalho abaixo:
Não | Nome da função | Objetivo da Função |
---|---|---|
7 | é inferior | Verifica se um determinado caractere está em minúsculas |
1 | isalnum | Verifica se um determinado caractere é alfanumérico |
dois | isalpha | Verifica se o caractere é alfabético |
3 | está em branco | Verifica se o caractere está em branco |
4 | iscntrl | Verifica se o caractere fornecido é um caractere de controle |
5 | isdigit | Verifica se o caractere fornecido é um dígito decimal |
6 | isgrafo | Verifica se o caractere dado tem uma representação gráfica |
8 | imprimir | Verifica se o caractere é imprimível |
9 | ispunct | Verifica se o caractere é um caractere de pontuação |
10 | isspace | Verifica se o caractere é um espaço em branco |
onze | isupper | Verifica se o caractere fornecido está em maiúsculas |
12 | isxdigit | Verifica se o dígito hexadecimal do caractere |
(ii) Funções de transformação de caracteres
As funções de transformação de caracteres convertem entre casos. As funções a seguir estão incluídas no arquivo.
Não | Nome da Função | Finalidade da função |
---|---|---|
1 | abaixar | Converte caracteres maiúsculos em minúsculos |
dois | tupper | Converte caracteres minúsculos em maiúsculas |
Vamos ver cada uma das funções de caractere (classificação e transformação) em detalhes. Também apresentaremos um exemplo simples de programação C ++ para cada uma das funções.
Isalnum
Protótipo de função: int isalnum (int c);
Parâmetro (s): c => Um caractere que deve ser verificado se alfanumérico ou não
Valor de retorno:
diferente de zero => c é alfanumérico
0 => c não é alfanumérico
Descrição: Esta função verifica se um determinado caractere c é alfanumérico ou não. Por alfanumérico, significa que um caractere está entre A (a) -Z (z) ou 0 a 9.
Em C ++, essa função é específica do local e sua definição está presente no cabeçalho.
Exemplo:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
Resultado:
Isalpha
Protótipo de função: int isalpha (int c);
Parâmetro (s): c-> Caractere que deve ser verificado se alfabético ou não.
Valor de retorno:
diferente de zero => c é alfabético
0 => não alfabético
Descrição: Esta função verifica se um determinado caractere c é um caractere alfabético, ou seja, entre letras maiúsculas e minúsculas. Assim como o isalnum, essa função também depende do local que estamos usando.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
Resultado:
Está em branco
Protótipo de função: int isblank (int c);
Parâmetro (s): c => caractere que deve ser verificado.
Valor de retorno:
diferente de zero => caractere está em branco
0 => caractere não está em branco
Descrição: Esta função verifica se o caractere fornecido está em branco ou não. O caractere em branco é um caractere de espaço usado para separar palavras em uma linha de texto.
Em C ++, a versão específica do local da função isblank existe em.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
Resultado:
Observe a última linha na saída que diz “não está em branco”. Isso ocorre por causa da última posição da matriz de caracteres que não foi inicializada com um valor, mas ainda tem uma posição de impressão. Portanto, não é um espaço em branco.
Iscntrl
Protótipo de função: int iscntrl (int c);
Parâmetro (s): c => caractere a ser verificado
Valor de retorno:
diferente de zero => c é o caractere de controle
0 => c não é caractere de controle
Descrição: A função verifica se o parâmetro fornecido é um caractere de controle. Um caractere de controle é um caractere que não aparece no visor ou não ocupa uma posição de impressão.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
Resultado:
Isdigit
Protótipo de função: int isdigit (int c)
Parâmetro (s): c => Um caractere lançado em int cujo valor deve ser verificado.
Valor de retorno: diferente de zero => c é dígito decimal
0 => c não é um dígito
Descrição: Esta função verifica se o parâmetro fornecido é um dígito decimal ou não. Um caractere é um dígito decimal se seu valor estiver entre 0 e 9.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
Resultado:
Isgraph
Protótipo de função: int isgraph (int c)
Parâmetro (s): c => Character casted int que é verificado usando a função isgraph
Valor de retorno:
diferente de zero => c é uma representação gráfica
0 => c não é uma representação gráfica
Descrição: A função verifica se o caractere c fornecido é um caractere com representação gráfica. Um personagem que pode ser impresso é um personagem com representação gráfica.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
Resultado:
É inferior
Protótipo de função: int islower (int c)
Parâmetro (s): c => Caractere que deve ser verificado com a função islower.
Valor de retorno:
diferente de zero => c é minúsculo
0 => c não é minúsculo
Descrição: A função islower verifica se o caractere c fornecido é minúsculo ou não.
Um caractere minúsculo é aquele que tem um dos valores: a b c d e f g h I j k l m n o p q r s t u v w x y z.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
Resultado:
Imprimir
Protótipo de função: sprint int (int c)
Parâmetro (s): c => Caractere que deve ser verificado usando a função isprint.
Valor de retorno:
non-zer0 => c é imprimível
0 => c não é imprimível
Descrição: A função isprint verifica se o caractere fornecido pode ser impresso. Um caractere imprimível é aquele que ocupa uma posição de impressão no display.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
Resultado:
Ispunct
Protótipo de função: int ispunct (int c)
Parâmetro (s): c => Caractere que deve ser verificado usando a função ispunct.
Valor de retorno:
diferente de zero => c é um caractere de pontuação
0 => c não é um caractere de pontuação
Descrição: Esta função verifica se o caractere fornecido é um caractere de pontuação. Um caractere gráfico (de isgraph) e não alfanumérico (de isalnum) é considerado um caractere de pontuação.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
Resultado:
Isspace
Protótipo de função: int isspace (int c)
Parâmetro (s): c => Caractere que deve ser verificado usando a função isspace.
Valor de retorno:
non-zer0 => c é um espaço em branco
0 => c não é espaço em branco
Descrição: Esta função verifica se o caractere fornecido é um espaço em branco. Para a localidade “C”, os caracteres de espaço em branco são qualquer um dos seguintes.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
Resultado:
Isupper
Protótipo de função: int isupper (int c)
Parâmetro (s): c => Caractere que deve ser verificado usando a função isupper.
Valor de retorno:
non-zer0 => c é maiúsculo
0 => c não é maiúsculo
Descrição: A função islower verifica se o caractere c fornecido é maiúsculo ou não.
Um caractere maiúsculo é aquele que possui um dos valores: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
Resultado:
Isxdigit
Protótipo de função: int isxdigit (int c)
Parâmetro (s): c => Caractere que deve ser verificado usando a função isxdigit.
Valor de retorno:
diferente de zero => c é hexadecimal
0 => c não é hexadecimal
Descrição: Esta função verifica se o caractere fornecido é um dígito hexadecimal. Os dígitos hexadecimais válidos são 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
Resultado:
abaixar
Protótipo de função: int tolower (int c)
Parâmetro (s): c => Caractere que deve ser convertido em minúsculas.
Valor de retorno:
retorna o equivalente inferior de c, inalterado de outra forma.
O valor de retorno é int e pode ser convertido implicitamente em char.
Descrição: Isso converte o caractere c fornecido em seu equivalente em minúsculas. Se a conversão não for possível para um determinado caractere, o valor inalterado (c) será retornado.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Resultado:
STH convertido em minúsculas: sth
tupper
Protótipo de função: int toupper (int c)
Parâmetro (s): c => caractere que deve ser convertido em maiúsculas
Valor de retorno:
retorna o equivalente superior de c, inalterado de outra forma.
estrutura de dados de pilha c ++
O valor de retorno é int e pode ser convertido implicitamente em char.
Descrição: Isso converte o caractere fornecido c em seu equivalente em maiúsculas. Se a conversão não for possível para um determinado caractere, o valor inalterado (c) será retornado.
Exemplo:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Resultado:
tutoriais convertidos em minúsculas: TUTORIALS
Conclusão
Isso termina nosso tutorial sobre funções de caracteres em C ++.
Neste tutorial, vimos várias funções que pegam um único caractere e depois os classificam ou convertem. Em nossos tutoriais subsequentes, discutiremos string e suas funções e classes relacionadas ao C ++.
=> Descubra a série de treinamento simples em C ++ aqui.
Leitura recomendada