C++ Char Data Type med eksempler
โก Smart oppsummering
Datatypen char i C++ lagrer et enkelt tegn, for eksempel en bokstav eller et siffer, ved hjelp av ASCII-verdien. Her lรฆrer du รฅ deklarere tegn, skrive ut ASCII-verdier, legge inn tegn og konvertere et tegn til en streng.

Hva er Char?
Char er en C++ datatype designet for lagring av brev. Char er en forkortelse for et alfanumerisk tegn. Det er en integrert datatype, noe som betyr at verdien er lagret som et heltall. Et tegn tar en minnestรธrrelse pรฅ 1 byte. Den lagrer ogsรฅ et enkelt tegn.
Hva er ASCII?
Tegnverdien tolkes som et ASCII-tegn. Dette ligner pรฅ hvordan boolske verdier tolkes som sanne eller usanne. ASCII er et akronym for American Standard (amerikansk standard). Code for informasjonsutveksling. Den definerer en spesifikk mรฅte รฅ representere engelske tegn som tall pรฅ.
Tallene varierer mellom 0 og 127. For eksempel tilsvarer tegnet 'a' ASCII-kode 97.
Rรธyeerklรฆring
ร erklรฆre en char variabel i C++, bruker vi nรธkkelordet char. Dette skal fรธlges av navnet pรฅ variabelen. Variabelen kan initialiseres pรฅ tidspunktet for erklรฆringen. Verdien av variabelen skal vรฆre omsluttet av enkle anfรธrselstegn.
syntax
Her er syntaksen for char-deklarasjon i C++:
char variable-name;
Variabelnavnet er navnet som skal tildeles variabelen.
Hvis en verdi skal tildeles ved erklรฆringen, kan du bruke denne syntaksen:
char variable-name = 'value';
- Variabelnavnet er navnet pรฅ char-variabelen.
- Verdien er verdien som skal tilordnes char-variabelen.
Eksempel 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluderer std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Deklarer en tegnvariabel kalt karakter. Variabelen har ogsรฅ blitt tildelt en verdi pรฅ B. Legg merke til at verdien til variabelen er omsluttet av enkle anfรธrselstegn.
- Skriv ut verdien av den variable karakteren sammen med annen tekst pรฅ konsollen.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
Skriver ut ASCII-verdi
Som nevnt ovenfor tolkes hvert tegn som ASCII-tegn. Det er mulig for deg รฅ fรฅ ASCII-verdien til et hvilket som helst tegn. Du sender ganske enkelt tegnet til int()-funksjonen. Denne prosessen kalles typestรธping. La oss demonstrere dette:
Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluderer std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Deklarer en char-variabel kalt ch.
- Skriv ut litt tekst pรฅ konsollen. Teksten ber brukeren angi en verdi for variabelen kap.
- Les brukerinngangen fra tastaturet og lagre den i variabelen kap.
- Skriv ut litt tekst pรฅ konsollen. Teksten vil inkludere tegnet du skrev inn for variabel ch, ASCII-verdien til dette tegnet og annen tekst.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
Utskrift Char Verdi
Gitt en ASCII-verdi, er C++ kompilatoren kan returnere det tilsvarende tegnet. Du erklรฆrer en char-variabel og tildeler den en heltallsverdi. Den vil bli konvertert til den tilsvarende tegnverdien.
Eksempel 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i koden. Vi vil da bruke funksjonene uten รฅ fรฅ feil.
- Inkluder std-navneomrรฅdet i koden. Vi vil bruke klassene uten รฅ ringe det.
- Kaller hoved()-funksjonen. Programlogikken skal gรฅ inn i hoveddelen av denne funksjonen.
- Deklarer tre char-variabler x, y og z. De tre har blitt tildelt heltallsverdier pรฅ 65, 66 og 67. Disse vil bli behandlet som ASCII-verdier for tegn.
- Skriv ut verdien av variabel x pรฅ konsollen. Siden x ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 65 bli returnert, det vil si A.
- Skriv ut verdien av variabel y pรฅ konsollen. Siden y ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 66 bli returnert, det vil si B.
- Skriv ut verdien av variabel z pรฅ konsollen. Siden z ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 67 bli returnert, det vil si C.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
Legge inn tegn
Vi kan bruke std::cin-funksjonen til รฅ lese et tegn som brukeren har skrevet inn via tastaturet. std::cin lar deg skrive inn mange tegn. Imidlertid kan tegnvariabelen bare inneholde ett tegn. Dette betyr at bare det fรธrste tegnet som skrives inn, vil bli lest.traclagret i tegnvariabelen. Resten vil forbli i bufferen som brukes av std::cin. For eksempeltract det, foreta pรฅfรธlgende kall til std::cin.
Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Skriv ut litt tekst pรฅ konsollen.
- Erklรฆr en tegnvariabel kalt ch.
- Les brukerinndata fra tastaturet. Inndata vil bli lagret i variabelen kap. Siden en bruker vil skrive en tegnsekvens som abc, vil bare det fรธrste tegnet, a, bli lagret i variabel ch.
- Skriver ut det fรธrste tegnet, dets ASCII-kode og annen tekst pรฅ konsollen. ASCII-koden bestemmes ved รฅ sende tegnvariabelen til int()-funksjonen.
- Les neste tegn som ble skrevet inn av brukeren. Brukeren trenger ikke รฅ skrive inn et nytt tegn. Den vil i stedet lese det andre tegnet som ble skrevet inn, det vil si b.
- Skriver ut det andre tegnet, dets ASCII-kode og annen tekst pรฅ konsollen. ASCII-koden bestemmes ved รฅ sende tegnvariabelen til int()-funksjonen.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
Konvertering av tegn til streng
Det finnes en rekke mรฅter vi kan bruke for รฅ konvertere tegn til strenger.
La oss diskutere dem:
#1: Bruke konstruktรธr gitt av en strengklasse
Dette kan gjรธres ved รฅ bruke fรธlgende syntaks:
string st(int n,char x);
Parameteren n angir stรธrrelsen pรฅ strengen som skal genereres.
Parameteren x er tegnet som skal konverteres til en streng.
Funksjonen returnerer en streng.
Eksempel 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Konverter tegnet "C" til en streng med 1 lengde og tilordne den resulterende strengen til variabelen st.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
#2) Bruke std::strengen Operators = og +=
Operatorene = og += er allerede overbelastet med tegn. De to kan brukes til รฅ konvertere et bestemt tegn til en streng.
Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Lag en strengvariabel kalt st.
- Lag et tegn kalt b med verdien B.
- Tilordne en verdi pรฅ A til strengen som heter st.
- Bruk +=-operatoren til รฅ konvertere tegn til en streng.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
#3: Bruke std::string-metoder
Std::string-klassen kommer med mange overbelastede funksjoner som kan hjelpe deg med รฅ konvertere tegn til strenger.
De omfatter:
- push_back Denne funksjonen tildeler et bestemt tegn til enden av en streng. Det er overbelastet for tegn. Det krever fรธlgende syntaks:
void push_back(char ch)Parameteren ch er tegnet som skal endres til en streng.
- fรธye Den tildeler mange kopier av et bestemt tegn til en streng. Funksjonen tar fรธlgende syntaks:
string& append(size_t n,char ch)
Parameteren n angir tidene som tegnet skal legges til.
Parameteren ch er tegnet som skal legges til streng.
- tildele Denne funksjonen erstatter gjeldende innhold i strengen med n kopier av det angitte tegnet. Den tar fรธlgende syntaks:
string& assign(size_t n,char ch);
Parameteren n angir det totale antallet kopier for tegnet.
Parameteren ch er tegnet som skal kopieres inn i strengen.
- Sett Sett inn-funksjonen setter inn n kopier av et tegn ved startposisjonen til strengen, som spesifisert i argumentene. Det tar fรธlgende syntaks:
string& insert(size_t p,size_t n,char ch);
P-parameteren angir posisjonen fra starten der tegn skal settes inn.
Parameteren n angir det totale antallet kopier for tegnet.
Parameteren ch er tegnet som skal settes inn i strengen.
Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
- Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Lag en strengvariabel kalt st.
- Tilordne tegnet A til slutten av strengen.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
- Sett verdien av strengen st til tom.
- Tilordne enkelttegn C til strengen som heter st.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
- Sett verdien av strengen st til tom.
- Erstatt innholdet for strengst med enkelttegn D.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
- Sett inn enkelttegn E i strengen som heter st fra den fรธrste indeksen.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.
#4: Bruker std::stringstream
For รฅ bruke denne klassen til รฅ konvertere tegn til en streng, sett inn tegnet i strรธmmen.
De vil bli skrevet til strengen.
Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder sstream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
- Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
- Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Lag en strengvariabel kalt st.
- Lag en strรธmvariabel kalt myst.
- Sett inn karakteren A i strรธmobjektet myst.
- Konverter strรธmobjektet til en streng.
- Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
- Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
- Slutten av hoveddelen av hoved()-funksjonen.









