c character classification
Questo tutorial spiega le funzioni di trasformazione e caratteri in C ++ con esempi. Alcune importanti funzioni coperte sono isdigit, islower, isupper, isalpha ecc .:
Nel nostro precedente tutorial sulle 'funzioni di libreria', abbiamo visto le varie intestazioni che forniscono numerose funzioni che operano su diversi tipi di dati. L'intestazione è una di queste intestazioni che contiene un insieme di funzioni che classificano e manipolano i singoli caratteri.
=> Visita qui per imparare C ++ da zero.
Le funzioni dichiarate nell'intestazione accettano un singolo carattere (int equivalente) come parametro e restituiscono un valore intero che può essere un valore booleano o un valore carattere. Un valore 0 (zero) indica falso mentre un valore diverso da 0 (diverso da zero) indica vero.
Queste funzioni a carattere singolo possono essere utilizzate nel programma includendo l'intestazione. Queste funzioni sono ampiamente utilizzate e accettate e sono estremamente utili nella programmazione C ++ per testare, trasformare o manipolare i caratteri.
In questo tutorial, discuteremo le varie funzioni dei caratteri e vedremo come ciascuna di queste funzioni può essere utilizzata in un programma.
Cosa imparerai:
Funzioni dei caratteri C ++
Le funzioni carattere C ++ sono le funzioni che accettano un solo carattere come parametro (convertito in int) e restituiscono un risultato. Queste possono essere funzioni di classificazione come isalpha, isalnum, isdigit, islower, isupper, ecc. Per citarne alcune e funzioni di trasformazione come toupper e tolower che trasformano un dato carattere in maiuscolo o minuscolo rispettivamente.
Nell'intestazione, abbiamo due tipi di funzioni definite come indicato di seguito.
(i) Funzioni di classificazione dei caratteri
Le funzioni di classificazione dei caratteri vengono utilizzate per verificare se il singolo carattere passato come argomento alla funzione appartiene a una determinata categoria.
Abbiamo tabularizzato le funzioni di classificazione dei caratteri incluse nell'intestazione di seguito:
No | Nome della funzione | Scopo della funzione |
---|---|---|
7 | è più basso | Controlla se un dato carattere è minuscolo |
uno | isalnum | Controlla se un dato carattere è alfanumerico |
Due | isalpha | Controlla se il carattere è alfabetico |
3 | è vuoto | Controlla se il carattere è vuoto |
4 | iscntrl | Controlla se il carattere dato è un carattere di controllo |
5 | isdigit | Controlla se il carattere specificato è una cifra decimale |
6 | isgraph | Controlla se il carattere dato ha una rappresentazione grafica |
8 | Stampa | Controlla se il carattere è un carattere stampabile |
9 | ispunct | Controlla se il carattere è un carattere di punteggiatura |
10 | isspace | Controlla se il carattere è uno spazio bianco |
undici | isupper | Controlla se il carattere specificato è maiuscolo |
12 | isxdigit | Controlla se il carattere cifra esadecimale |
(ii) Funzioni di trasformazione dei caratteri
Le funzioni di trasformazione dei caratteri convertono tra i casi. Le seguenti funzioni sono incluse nel file.
No | Nome funzione | Scopo della funzione |
---|---|---|
uno | ridurre | Converte i caratteri maiuscoli in minuscoli |
Due | toupper | Converte i caratteri minuscoli in maiuscoli |
Vediamo in dettaglio ciascuna delle funzioni dei personaggi (classificazione e trasformazione). Presenteremo anche un semplice esempio di programmazione C ++ per ciascuna delle funzioni.
Isalnum
Prototipo di funzione: int isalnum (int c);
Parametro (i): c => Un carattere che dovrebbe essere controllato se alfanumerico o meno
Valore di ritorno:
diverso da zero => c è alfanumerico
0 => c non è alfanumerico
Descrizione: Questa funzione controlla se un dato carattere c è alfanumerico o meno. Con alfanumerico, significa che un carattere è compreso tra A (a) -Z (z) o da 0 a 9.
In C ++, questa funzione è specifica della locale e la sua definizione è presente nell'intestazione.
Esempio:
#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; }
Produzione:
Isalpha
Prototipo di funzione: int isalpha (int c);
Parametro (i): c-> Carattere che deve essere controllato se alfabetico o no.
Valore di ritorno:
diverso da zero => c è alfabetico
0 => non alfabetico
Descrizione: Questa funzione controlla se un dato carattere c è un carattere alfabetico, cioè tra lettere minuscole e maiuscole. Come isalnum, anche questa funzione dipende dalla locale che stiamo usando.
Esempio:
#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; }
Produzione:
È vuoto
Prototipo di funzione: int isblank (int c);
Parametro (i): c => Carattere da controllare.
Valore di ritorno:
diverso da zero => il carattere è vuoto
0 => il carattere non è vuoto
Descrizione: Questa funzione controlla se il carattere specificato è vuoto o meno. Il carattere vuoto è un carattere spazio utilizzato per separare le parole in una riga di testo.
In C ++, la versione specifica della locale della funzione isblank esiste in.
Esempio:
#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; }
Produzione:
Notare l'ultima riga nell'output che dice 'non è vuota'. Ciò è dovuto all'ultima posizione della matrice di caratteri che non è inizializzata su un valore ma ha ancora una posizione di stampa. Quindi non è uno spazio vuoto.
Iscntrl
Prototipo di funzione: int iscntrl (int c);
Parametro (i): c => Carattere da controllare
Valore di ritorno:
diverso da zero => c è il carattere di controllo
0 => c non è un carattere di controllo
Descrizione: La funzione controlla se il parametro dato è un carattere di controllo. Un carattere di controllo è un carattere che non appare sul display o non occupa una posizione di stampa.
Esempio:
#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; }
Produzione:
Isdigit
Prototipo di funzione: int isdigit (int c)
Parametro (i): c => Un carattere convertito in int il cui valore deve essere verificato.
Valore di ritorno: diverso da zero => c è una cifra decimale
0 => c non è una cifra
Descrizione: Questa funzione controlla se il parametro dato è una cifra decimale o meno. Un carattere è una cifra decimale se il suo valore è compreso tra 0 e 9.
Esempio:
#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; }
Produzione:
Isgraph
Prototipo di funzione: int isgraph (int c)
Parametro (i): c => Carattere casted int che viene verificato utilizzando la funzione isgraph
Valore di ritorno:
diverso da zero => c è una rappresentazione grafica
0 => c non è una rappresentazione grafica
Descrizione: La funzione controlla se il carattere c dato è un carattere con rappresentazione grafica. Un carattere che può essere stampato è un carattere con rappresentazione grafica.
Esempio:
#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; }
Produzione:
È più basso
Prototipo di funzione: int islower (int c)
Parametro (i): c => Carattere da controllare utilizzando la funzione islower.
Valore di ritorno:
non-zer0 => c è minuscolo
0 => c non è minuscolo
Descrizione: La funzione è inferiore controlla se il carattere c dato è minuscolo o meno.
Un carattere minuscolo è quello che ha uno dei valori: 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.
Esempio:
#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; }
Produzione:
Stampa
Prototipo di funzione: int sprint (int c)
Parametro (i): c => Carattere che deve essere verificato utilizzando la funzione isprint.
Valore di ritorno:
non-zer0 => c è stampabile
0 => c non è stampabile
Descrizione: La funzione isprint controlla se il carattere specificato è stampabile. Un carattere stampabile è quello che occupa una posizione di stampa nel display.
Esempio:
#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; }
Produzione:
Ispunct
Prototipo di funzione: int ispunct (int c)
Parametro (i): c => Carattere che deve essere controllato utilizzando la funzione ispunct.
Valore di ritorno:
non-zer0 => c è un carattere di punteggiatura
0 => c non è un carattere di punteggiatura
Descrizione: Questa funzione controlla se il carattere specificato è un carattere di punteggiatura. Un carattere che è un carattere grafico (da isgraph) e non alfanumerico (da isalnum) si dice che sia un carattere di punteggiatura.
Esempio:
#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; }
Produzione:
Isspace
Prototipo di funzione: int isspace (int c)
Parametro (i): c => Carattere che deve essere verificato utilizzando la funzione isspace.
Valore di ritorno:
non-zer0 => c è uno spazio bianco
0 => c non è uno spazio bianco
Descrizione: Questa funzione controlla se il carattere dato è uno spazio bianco. Per le impostazioni internazionali 'C', gli spazi vuoti sono uno dei seguenti.
Esempio:
#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; }
Produzione:
Isupper
Prototipo di funzione: int isupper (int c)
Parametro (i): c => Carattere che deve essere verificato utilizzando la funzione isupper.
Valore di ritorno:
non-zer0 => c è maiuscolo
0 => c non è maiuscolo
Descrizione: La funzione è inferiore controlla se il carattere c dato è maiuscolo o meno.
Un carattere maiuscolo è quello che ha uno dei valori: 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.
Esempio:
#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; }
Produzione:
Isxdigit
Prototipo di funzione: int isxdigit (int c)
Parametro (i): c => Carattere che deve essere verificato utilizzando la funzione isxdigit.
Valore di ritorno:
non-zer0 => c è esadecimale
0 => c non è un esadecimale
Descrizione: Questa funzione controlla se il carattere dato è una cifra esadecimale. Le cifre esadecimali valide sono 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Esempio:
#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; }
Produzione:
ridurre
Prototipo di funzione: int tolower (int c)
Parametro (i): c => Carattere da convertire in minuscolo.
Valore di ritorno:
restituisce l'equivalente inferiore di c, altrimenti invariato.
Il valore restituito è int e può essere cast implicitamente in char.
Descrizione: Questo converte il carattere c dato nel suo equivalente minuscolo. Se la conversione non è possibile per un dato carattere, viene restituito il valore invariato (c).
Esempio:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Produzione:
STH convertito in minuscolo: sth
toupper
Prototipo di funzione: int toupper (int c)
Parametro (i): c => carattere che deve essere convertito in maiuscolo
Valore di ritorno:
restituisce l'equivalente superiore di c, altrimenti invariato.
software per scaricare video da siti Web
Il valore restituito è int e può essere cast implicitamente in char.
Descrizione: Questo converte il carattere c dato nel suo equivalente maiuscolo. Se una conversione non è possibile per un dato carattere, viene restituito il valore invariato (c).
Esempio:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Produzione:
tutorial convertiti in minuscolo: TUTORIAL
Conclusione
Questo conclude il nostro tutorial sulle funzioni dei caratteri in C ++.
In questo tutorial, abbiamo visto varie funzioni che prendono un singolo carattere e poi le classificano o le convertono. Nelle nostre esercitazioni successive, discuteremo delle stringhe e delle loro funzioni e classi relative a C ++.
=> Scopri la serie di formazione C ++ semplice qui.
Lettura consigliata