c character classification
Aquest tutorial explica les funcions de caràcter i transformació de C ++ amb exemples. Algunes de les funcions importants que es cobreixen són isdigit, islower, isupper, isalpha, etc.:
Al nostre anterior tutorial sobre 'funcions de biblioteca', vam veure les diverses capçaleres que proporcionen nombroses funcions que funcionen amb diferents tipus de dades. La capçalera és una d'aquestes capçaleres que conté un conjunt de funcions que classifiquen i manipulen caràcters individuals.
=> Visiteu aquí per aprendre C ++ des de zero.
Les funcions declarades a la capçalera prenen un sol caràcter (equivalent int) com a paràmetre i retornen un valor enter que pot ser un valor booleà o un valor de caràcter. Un valor 0 (zero) indica fals mentre que un valor diferent de 0 (diferent de zero) indica cert.
Aquestes funcions d'un sol caràcter es poden utilitzar al programa incloent la capçalera. Aquestes funcions són àmpliament utilitzades i acceptades i són extremadament útils en la programació C ++ per provar i transformar o manipular caràcters.
En aquest tutorial, analitzarem les diverses funcions de caràcters i veurem com es poden utilitzar cadascuna d’aquestes funcions en un programa.
Què aprendreu:
Funcions de caràcters C ++
Les funcions de caràcters C ++ són les funcions que prenen només un caràcter com a paràmetre (emès a int) i retornen un resultat. Es poden tractar de funcions de classificació com ara isalpha, isalnum, isdigit, islower, isupper, etc.
A la capçalera, tenim dos tipus de funcions definides com s'indica a continuació.
(i) Funcions de classificació de caràcters
Les funcions de classificació de caràcters s’utilitzen per comprovar si el caràcter únic passat com a argument a la funció pertany a una determinada categoria.
Hem tabulat les funcions de classificació de caràcters incloses a la capçalera següent:
no | Nom de la funció | Funció Finalitat |
---|---|---|
7 | és més baix | Comprova si un caràcter determinat és en minúscula |
1 | isalnum | Comprova si un caràcter determinat és alfanumèric |
2 | isalfa | Comprova si el caràcter és alfabètic |
3 | està en blanc | Comprova si el caràcter està en blanc |
4 | iscntrl | Comprova si el caràcter indicat és un caràcter de control |
5 | isdigit | Comprova si el caràcter indicat és un dígit decimal |
6 | isgraph | Comprova si el caràcter donat té una representació gràfica |
8 | imprimir | Comprova si el caràcter es pot imprimir |
9 | està puntual | Comprova si el caràcter és un caràcter de puntuació |
10 | isspace | Comprova si el personatge és un espai en blanc |
11 | isupper | Comprova si el caràcter indicat és en majúscules |
12 | isxdigit | Comprova si el caràcter és un dígit hexadecimal |
(ii) Funcions de transformació de caràcters
Les funcions de transformació de caràcters es converteixen entre casos. Les funcions següents s’inclouen al fitxer.
no | Nom de la funció | Propòsit de la funció |
---|---|---|
1 | abaixar | Converteix el caràcter en majúscula en minúscula |
2 | toupper | Converteix el caràcter en minúscula en majúscula |
Vegem detalladament cadascuna de les funcions dels personatges (classificació i transformació). També presentarem un exemple senzill de programació C ++ per a cadascuna de les funcions.
Isalnum
Prototip de funció: int isalnum (int c);
Paràmetres: c => Un caràcter que s'ha de comprovar si és alfanumèric o no
Valor de retorn:
diferent de zero => c és alfanumèric
0 => c no és alfanumèric
Descripció: Aquesta funció comprova si un caràcter determinat c és alfanumèric o no. Per alfanumèric, significa que un caràcter està entre A (a) -Z (z) o 0 a 9.
A C ++, aquesta funció és específica de la configuració regional i la seva definició està present a la capçalera.
Exemple:
#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; }
Sortida:
Isalfa
Prototip de funció: int isalpha (int c);
Paràmetres: c-> Caràcter que s'ha de comprovar si és alfabètic o no.
Valor de retorn:
diferent de zero => c és alfabètic
0 => no alfabètic
Descripció: Aquesta funció comprova si un caràcter determinat c és un caràcter alfabètic, és a dir, entre minúscules i majúscules. Igual que isalnum, aquesta funció també depèn de la configuració regional que estem utilitzant.
Exemple:
#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; }
Sortida:
Isblank
Prototip de funció: int isblank (int c);
Paràmetres: c => Caràcter que s'ha de comprovar.
Valor de retorn:
no zero => el caràcter està en blanc
0 => el caràcter no està en blanc
Descripció: Aquesta funció comprova si el caràcter indicat és un blanc o no. El caràcter en blanc és un caràcter espacial que s’utilitza per separar paraules en una línia de text.
A C ++, la versió específica de la funció isblank existeix a.
Exemple:
#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; }
Sortida:
Tingueu en compte l'última línia de la sortida que diu 'no està en blanc'. Això es deu a l'última posició de la matriu de caràcters que no s'inicialitza a un valor però que encara té una posició d'impressió. Per tant, no és un espai en blanc.
Iscntrl
Prototip de funció: int iscntrl (int c);
Paràmetres: c => Caràcter a comprovar
Valor de retorn:
diferent de zero => c és el caràcter de control
0 => c no és un caràcter de control
Descripció: La funció comprova si el paràmetre indicat és un caràcter de control. Un caràcter de control és un caràcter que no apareix a la pantalla o que no ocupa cap posició d'impressió.
Exemple:
#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; }
Sortida:
Isdigit
Prototip de funció: int isdigit (int c)
Paràmetres: c => Un caràcter emès a int el valor del qual s'ha de comprovar.
Valor de retorn: diferent de zero => c és un dígit decimal
0 => c no és un dígit
Descripció: Aquesta funció comprova si el paràmetre donat és o no un dígit decimal. Un caràcter és un dígit decimal si el seu valor està entre 0 i 9.
Exemple:
#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; }
Sortida:
Isgraph
Prototip de funció: int isgraph (int c)
Paràmetres: c => Caràcter emès int que es comprova mitjançant la funció isgraph
Valor de retorn:
no zero => c és una representació gràfica
0 => c no és una representació gràfica
Descripció: La funció comprova si el caràcter donat c és un caràcter amb representació gràfica. Un caràcter que es pot imprimir és un personatge amb representació gràfica.
Exemple:
#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; }
Sortida:
Islower
Prototip de funció: int islower (int c)
Paràmetres: c => Caràcter que s'ha de comprovar mitjançant la funció inferior.
Valor de retorn:
no-zer0 => c és minúscula
0 => c no és minúscula
Descripció: La funció islower comprova si el caràcter donat c és en minúscula o no.
Un caràcter en minúscula és el que té un dels valors: 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.
Exemple:
#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; }
Sortida:
Imprimir
Prototip de funció: int sprint (int c)
Paràmetres: c => Caràcter que es comprova mitjançant la funció isprint.
Valor de retorn:
no-zer0 => c es pot imprimir
0 => c no es pot imprimir
Descripció: La funció isprint comprova si el caràcter indicat és imprimible. Un caràcter imprimible és el que ocupa una posició d'impressió a la pantalla.
Exemple:
#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; }
Sortida:
Ispunt
Prototip de funció: int ispunct (int c)
Paràmetres: c => Caràcter que s'ha de comprovar mitjançant la funció ispunct.
Valor de retorn:
no-zer0 => c és un caràcter de puntuació
0 => c no és un caràcter de puntuació
Descripció: Aquesta funció comprova si el caràcter indicat és un caràcter de puntuació. Es diu que un caràcter gràfic (d’isgraph) i no alfanumèric (d’isalnum) és un caràcter de puntuació.
Exemple:
#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; }
Sortida:
Isspace
Prototip de funció: int isspace (int c)
Paràmetres: c => Caràcter que es comprova mitjançant la funció isspace.
Valor de retorn:
no-zer0 => c és un espai en blanc
0 => c no és espai en blanc
Descripció: Aquesta funció comprova si el caràcter indicat és un espai en blanc. Per a la configuració regional 'C', els caràcters en blanc són qualsevol dels següents.
Exemple:
#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; }
Sortida:
Isupper
Prototip de funció: int isupper (int c)
Paràmetres: c => Caràcter que es comprova mitjançant la funció isupper.
Valor de retorn:
no-zer0 => c és majúscula
0 => c no és majúscula
Descripció: Les funcions islower comproven si el caràcter donat c és majúscula o no.
Un caràcter en majúscula és el que té un dels valors: 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.
Exemple:
#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; }
Sortida:
Isxdigit
Prototip de funció: int isxdigit (int c)
Paràmetres: c => Caràcter que es comprova mitjançant la funció isxdigit.
Valor de retorn:
no-zer0 => c és hexadecimal
0 => c no és un hexadecimal
Descripció: Aquesta funció comprova si el caràcter indicat és un dígit hexadecimal. Els dígits hexadecimals vàlids són 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Exemple:
#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; }
Sortida:
abaixar
Prototip de funció: int tolower (int c)
Paràmetres: c => Caràcter que es vol convertir en minúscula.
Valor de retorn:
retorna l'equivalent inferior de c, sense canvis en cap cas.
El valor retornat és int i es pot convertir implícitament en un caràcter.
Descripció: Això converteix el caràcter donat c en el seu equivalent en minúscula. Si la conversió no és possible per a un caràcter determinat, es torna el valor (c) sense canvis.
Exemple:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Sortida:
STH convertit a minúscules: sth
toupper
Prototip de funció: int toupper (int c)
Paràmetres: c => caràcter que s'ha de convertir a majúscula
Valor de retorn:
retorna l'equivalent superior de c, sense canvis en cap cas.
Com puc trobar una clau de seguretat de xarxa
El valor retornat és int i es pot convertir implícitament en un caràcter.
Descripció: Això converteix el caràcter donat c en el seu equivalent en majúscules. Si no és possible una conversió per a un caràcter determinat, es torna el valor (c) sense canvis.
Exemple:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Sortida:
tutorials convertits a minúscules: TUTORIALS
Conclusió
Amb això acabem el nostre tutorial sobre funcions de caràcters en C ++.
En aquest tutorial, hem vist diverses funcions que prenen un sol caràcter i les classifiquem o les convertim. En els nostres tutorials posteriors, discutirem la cadena i les seves funcions i classes relacionades amb C ++.
=> Descobriu aquí la sèrie de formació C ++ simple.
Lectura recomanada