C++ Char Data Type med eksempler
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 sant eller usant. ASCII er et akronym for American Standard Code for Information Interchange. Den definerer en spesifikk måte å representere engelske tegn på som tall.
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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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 er lagt inn av brukeren 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 legges inn vil bli trukket ut og lagret i tegnvariabelen. Resten vil forbli i bufferen som brukes av std::cin. For å trekke den ut, foreta påfølgende anrop 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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.
Sammendrag
- En røye er en C++ datatype som brukes til lagring av brev.
- C++ Char er en integrert datatype, noe som betyr at verdien er lagret som et heltall.
- Den opptar en minnestørrelse på 1 byte.
- C++ Char lagrer kun ett tegn.
- Tegnverdier tolkes som ASCII-tegn.
- ASCII er et akronym for American Standard Code for Information Interchange.
- Den angir en spesifikk måte å representere engelske tegn i form av tall.
- For å se ASCII-verdien til et tegn, sender vi den til int()-funksjonen.
- For å se den tilsvarende tegnverdien til ASCII-verdi, definerer vi ASCII som et tegn.