C++ Tipo di dati Char con esempi
Cos'è Char?
Char è un C++ tipo di dati progettato per l'archiviazione di lettere. Char è un'abbreviazione di carattere alfanumerico. È un tipo di dati integrale, ovvero il valore è archiviato come un intero. Un char occupa una dimensione di memoria di 1 byte. Archivia anche un singolo carattere.
Che cos'è ASCII?
Il valore char viene interpretato come un carattere ASCII. Questo è simile al modo in cui i valori booleani vengono interpretati come veri o falsi. ASCII è l'acronimo di American Standard Code for Information Interchange. Definisce un modo specifico di rappresentare i caratteri inglesi come numeri.
I numeri vanno da 0 a 127. Ad esempio, il carattere "a" equivale al codice ASCII 97.
Dichiarazione di Char
Per dichiarare a char variabile in C++, usiamo la parola chiave char. Questo dovrebbe essere seguito dal nome della variabile. La variabile può essere inizializzata al momento della dichiarazione. Il valore della variabile deve essere racchiuso tra virgolette singole.
Sintassi
Ecco la sintassi per la dichiarazione char in C++:
char variable-name;
Il nome-variabile è il nome da assegnare alla variabile.
Se si intende assegnare un valore al momento della dichiarazione è possibile utilizzare questa sintassi:
char variable-name = 'value';
- Il nome-variabile è il nome della variabile char.
- Il valore è il valore da assegnare alla variabile char.
Esempio 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includere lo spazio dei nomi std nel nostro codice per poter utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Dichiara una variabile di carattere denominata grade. Alla variabile è stato assegnato anche il valore B. Notare che il valore della variabile è racchiuso tra virgolette singole.
- Stampa il valore del voto variabile insieme ad altro testo sulla console.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
Stampa del valore ASCII
Come detto sopra, ogni carattere viene interpretato come carattere ASCII. È possibile ottenere il valore ASCII di qualsiasi carattere. Passi semplicemente il carattere alla funzione int(). Questo processo è chiamato casting del tipo. Dimostriamolo:
Esempio 2:
#include <iostream> using namespace std; int main() { char ch; cout << "Enter any character: "; cin >> ch; cout << "The ASCII Value of " << ch << " is " << int(ch); return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includere il file header iostream nel nostro codice per poter utilizzare le sue funzioni.
- Includere lo spazio dei nomi std nel nostro codice per poter utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Dichiara una variabile char denominata ch.
- Stampa del testo sulla console. Il testo chiede all'utente di inserire un valore per la variabile ch.
- Leggi l'input dell'utente dalla tastiera e memorizzalo nella variabile ch.
- Stampa del testo sulla console. Il testo includerà il carattere immesso per la variabile ch, il valore ASCII di questo carattere e altro testo.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
Stampa valore carattere
Dato un valore ASCII, il C++ il compilatore può restituire il carattere corrispondente. Dichiari una variabile char e le assegni un valore intero. Verrà convertito nel valore del carattere corrispondente.
Esempio 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includere il file di intestazione iostream nel codice. Utilizzeremo quindi le sue funzioni senza ottenere errori.
- Includere lo spazio dei nomi std nel codice. Utilizzeremo le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe entrare nel corpo di questa funzione.
- Dichiarare tre variabili char x, y e z. Ai tre sono stati assegnati valori interi di 65, 66 e 67. Questi verranno trattati come valori ASCII per i caratteri.
- Stampa il valore della variabile x sulla console. Poiché x è stato dichiarato come carattere, verrà restituito il carattere con valore ASCII pari a 65, ovvero A.
- Stampa il valore della variabile y sulla console. Poiché y è stato dichiarato come carattere, verrà restituito il carattere con valore ASCII pari a 66, ovvero B.
- Stampa il valore della variabile z sulla console. Poiché z è stato dichiarato come carattere, verrà restituito il carattere con valore ASCII pari a 67, ovvero C.
- Il programma deve restituire valore in caso di completamento positivo.
- La fine del corpo della funzione main().
Immissione di caratteri
Possiamo usare la funzione std::cin per leggere un carattere immesso dall'utente tramite la tastiera. La funzione std::cin ti consentirà di immettere molti caratteri. Tuttavia, la variabile carattere può contenere solo un carattere. Ciò significa che solo il primo carattere immesso verrà estratto e memorizzato nella variabile carattere. Il resto rimarrà nel buffer utilizzato da std::cin. Per estrarlo, effettua chiamate successive a std::cin.
Esempio 4:
#include <iostream> using namespace std; int main() { cout << "Type a sequence of characters: "; char ch; cin >> ch; cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n'; cin >> ch; cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n'; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Stampa del testo sulla console.
- Dichiarare una variabile di carattere denominata ch.
- Leggere l'input dell'utente dalla tastiera. L'input verrà memorizzato nella variabile ch. Poiché un utente digiterà una sequenza di caratteri come abc, solo il primo carattere, a, verrà memorizzato nella variabile ch.
- Stampa sulla console il primo carattere inserito, il suo codice ASCII e altro testo. Il codice ASCII viene determinato passando la variabile carattere alla funzione int().
- Leggere il carattere successivo immesso dall'utente. All'utente non verrà richiesto di inserire un nuovo carattere. Verrà invece letto il secondo carattere immesso, ovvero b.
- Stampa sulla console il secondo carattere inserito, il suo codice ASCII e altro testo. Il codice ASCII viene determinato passando la variabile carattere alla funzione int().
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
Conversione di caratteri in stringhe
Esistono diversi modi in cui possiamo utilizzare per convertire i caratteri stringhe.
Discutiamoli:
#1: utilizzo del costruttore fornito da una classe String
Questo può essere fatto utilizzando la seguente sintassi:
string st(int n,char x);
Il parametro n indica la dimensione della stringa che deve essere generata.
Il parametro x è il carattere da convertire in una stringa.
La funzione restituisce una stringa.
Esempio 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Converti il carattere "C" in una stringa di lunghezza 1 e assegna la stringa risultante alla variabile st.
- Stampa il valore della stringa st sulla console insieme ad altro testo.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
#2) Utilizzando std::string Operatori = e +=
Gli operatori = e += sono già sovraccarichi di caratteri. I due possono essere utilizzati per convertire un particolare carattere in una stringa.
Esempio 6:
#include<iostream> #include <string> using namespace std; int main() { string st; char b = 'B'; st = 'A'; st += b; cout << "The resulting string is : " << st; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Crea una variabile stringa denominata st.
- Crea un personaggio chiamato b con un valore B.
- Assegnare un valore A alla stringa denominata st.
- Utilizzare l'operatore += per convertire i caratteri in una stringa.
- Stampa il valore della stringa st sulla console insieme ad altro testo.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
# 3: utilizzo dei metodi std::string
La classe std::string include molte funzioni sovraccaricate che possono aiutarti a convertire i caratteri in stringhe.
Essi comprendono:
- respingere Questa funzione assegna un carattere particolare alla fine di una stringa. È sovraccarica di caratteri. Accetta la seguente sintassi:
void push_back(char ch)
Il parametro ch è il carattere che deve essere modificato in una stringa.
- aggiungere Assegna molte copie di un particolare carattere a una stringa. La funzione adotta la seguente sintassi:
string& append(size_t n,char ch)
Il parametro n indica le volte in cui il carattere verrà aggiunto.
Il parametro ch è il carattere da aggiungere alla stringa.
- assegnare Questa funzione sostituisce il contenuto corrente della stringa con n copie del carattere specificato. Utilizza la seguente sintassi:
string& assign(size_t n,char ch);
Il parametro n indica le copie totali del personaggio.
Il parametro ch è il carattere da copiare nella stringa.
- insert La funzione insert inserisce n copie di un carattere nella posizione iniziale della stringa, come specificato negli argomenti. Utilizza la seguente sintassi:
string& insert(size_t p,size_t n,char ch);
Il parametro p indica la posizione dall'inizio in cui verranno inseriti i caratteri.
Il parametro n indica le copie totali del personaggio.
Il parametro ch è il carattere da inserire nella stringa.
Esempio 7:
#include<iostream> #include <string> using namespace std; int main() { string st; st.push_back('A'); cout << "push_back A returns : " << st << endl; st = ""; st.append(1, 'C'); cout << "append C returns : " << st << endl; st = ""; st.assign(1, 'D'); cout << "assign D returns : " << st << endl; st.insert(0, 1, 'E'); cout << "insert single character returns : " << st << endl; return 0; }
Produzione:
Ecco uno screenshot del codice:
- Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Crea una variabile stringa denominata st.
- Assegna il carattere A alla fine della stringa.
- Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
- Imposta il valore della stringa st su vuoto.
- Assegna il singolo carattere C alla stringa denominata st.
- Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
- Imposta il valore della stringa st su vuoto.
- Sostituisci il contenuto della stringa st con il singolo carattere D.
- Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
- Inserisci il singolo carattere E nella stringa denominata st dal suo primo indice.
- Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
# 4: utilizzo di std::stringstream
Per utilizzare questa classe per convertire un carattere in una stringa, inserire il carattere nello stream.
Verranno scritti sulla stringa.
Esempio 8:
#include<iostream> #include <string> #include <sstream> using namespace std; int main() { string st; stringstream myst; myst << 'A'; myst >> st; cout << "The conversion of the single character returns the string: " << st; return 0; }
Produzione:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione dello sstream nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
- Crea una variabile stringa denominata st.
- Crea una variabile di flusso denominata myst.
- Inserisci il carattere A nell'oggetto stream denominato myst.
- Converti l'oggetto stream in una stringa.
- Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().
Sommario
- Un carattere è a C++ tipo di dati utilizzato per l'archiviazione delle lettere.
- C++ Char è un tipo di dati integrale, il che significa che il valore viene archiviato come numero intero.
- Occupa una dimensione di memoria di 1 byte.
- C++ Char memorizza solo un singolo carattere.
- I valori dei caratteri vengono interpretati come caratteri ASCII.
- ASCII è l'acronimo di American Standard Code for Information Interchange.
- Indica un modo specifico di rappresentare i caratteri inglesi sotto forma di numeri.
- Per vedere il valore ASCII di un carattere, lo passiamo alla funzione int().
- Per vedere il valore char corrispondente al valore ASCII, definiamo ASCII come carattere.