C++ Char Datatyp med exempel
Vad är Char?
Char är en C++ datatyp avsedd för lagring av brev. Char är en förkortning för ett alfanumeriskt tecken. Det är en integral datatyp, vilket innebär att värdet lagras som ett heltal. Ett tecken tar en minnesstorlek på 1 byte. Den lagrar också ett enda tecken.
Vad är ASCII?
Teckningsvärdet tolkas som ett ASCII-tecken. Detta liknar hur booleska värden tolkas som sant eller falskt. ASCII är en akronym för American Standard Code for Information Interchange. Den definierar ett specifikt sätt att representera engelska tecken som siffror.
Siffrorna sträcker sig mellan 0 och 127. Till exempel motsvarar tecknet 'a' ASCII-kod 97.
Rödingsdeklaration
Att deklarera a char variabel i C++, använder vi nyckelordet char. Detta bör följas av variabelns namn. Variabeln kan initieras vid tidpunkten för deklarationen. Variabelns värde ska stå inom enstaka citattecken.
syntax
Här är syntaxen för char-deklaration i C++:
char variable-name;
Variabelnamnet är namnet som ska tilldelas variabeln.
Om ett värde ska tilldelas vid tidpunkten för deklarationen kan du använda denna syntax:
char variable-name = 'value';
- Variabeln-namn är namnet på char-variabeln.
- Värdet är det värde som ska tilldelas char-variabeln.
Exempel 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnutrymmet i vår kod för att kunna använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Deklarera en teckenvariabel som heter grad. Variabeln har också tilldelats värdet B. Observera att värdet på variabeln är omsluten av enkla citattecken.
- Skriv ut värdet på variabelgraden tillsammans med annan text på konsolen.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
Skriver ut ASCII-värde
Som nämnts ovan tolkas varje tecken som ASCII-tecken. Det är möjligt för dig att få ASCII-värdet för vilket tecken som helst. Du skickar helt enkelt tecknet till int()-funktionen. Denna process kallas typgjutning. Låt oss demonstrera detta:
Exempel 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; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att kunna använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att kunna använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Deklarera en char-variabel med namnet ch.
- Skriv ut lite text på konsolen. Texten ber användaren att ange ett värde för variabeln kap.
- Läs användarinmatningen från tangentbordet och lagra den i variabeln kap.
- Skriv ut lite text på konsolen. Texten kommer att inkludera tecknet du angav för variabeln ch, ASCII-värdet för detta tecken och annan text.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
Utskrift Char Value
Givet ett ASCII-värde är C++ kompilatorn kan returnera motsvarande tecken. Du deklarerar en char-variabel och tilldelar den ett heltalsvärde. Det kommer att konverteras till motsvarande teckenvärde.
Exempel 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkluderar iostream-huvudfilen i koden. Vi kommer då att använda dess funktioner utan att få fel.
- Inkludera std-namnområdet i koden. Vi kommer att använda dess klasser utan att kalla det.
- Anropar main()-funktionen. Programlogiken bör gå in i kroppen av denna funktion.
- Deklarera tre char-variabler x, y och z. De tre har tilldelats heltalsvärden 65, 66 och 67. Dessa kommer att behandlas som ASCII-värden för tecken.
- Skriv ut värdet för variabel x på konsolen. Eftersom x deklarerades som ett char, kommer char med ASCII-värdet på 65 att returneras, det vill säga A.
- Skriv ut värdet för variabel y på konsolen. Eftersom y deklarerades som ett char, kommer char med ASCII-värdet på 66 att returneras, det vill säga B.
- Skriv ut värdet för variabel z på konsolen. Eftersom z deklarerades som ett char, kommer char med ASCII-värdet på 67 att returneras, det vill säga C.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
Mata in tecken
Vi kan använda std::cin-funktionen för att läsa ett tecken som användaren matat in via tangentbordet. Std::cin låter dig ange många tecken. Däremot kan teckenvariabeln bara innehålla ett tecken. Detta innebär att endast det första tecknet som anges kommer att extraheras och lagras i teckenvariabeln. Resten kommer att finnas kvar i bufferten som används av std::cin. För att extrahera det, gör efterföljande anrop till std::cin.
Exempel 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; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Skriv ut lite text på konsolen.
- Deklarera en teckenvariabel som heter ch.
- Läs användarinmatning från tangentbordet. Inmatningen kommer att lagras i variabeln kap. Eftersom en användare kommer att skriva en teckensekvens som abc, kommer endast det första tecknet, a, att lagras i variabeln ch.
- Skriver ut det första inmatade tecknet, dess ASCII-kod och annan text på konsolen. ASCII-koden bestäms genom att skicka teckenvariabeln till int()-funktionen.
- Läs nästa tecken som angavs av användaren. Användaren kommer inte att behöva ange ett nytt tecken. Den kommer istället att läsa det andra tecknet som skrevs in, det vill säga b.
- Skriver ut det andra tecknet, dess ASCII-kod och annan text på konsolen. ASCII-koden bestäms genom att skicka teckenvariabeln till int()-funktionen.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
Konvertera tecken till sträng
Det finns ett antal sätt som vi kan använda för att konvertera tecken till strängar.
Låt oss diskutera dem:
#1: Använda konstruktor som ges av en strängklass
Detta kan göras med hjälp av följande syntax:
string st(int n,char x);
Parametern n anger storleken på strängen som ska genereras.
Parametern x är tecknet som ska konverteras till en sträng.
Funktionen returnerar en sträng.
Exempel 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera stränghuvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Konvertera tecknet "C" till en 1-lång sträng och tilldela den resulterande strängen till variabeln st.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
#2) Använda std::strängen Operators = och +=
Operatörerna = och += är redan överbelastade med tecken. De två kan användas för att konvertera ett visst tecken till en sträng.
Exempel 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; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera stränghuvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Skapa en strängvariabel med namnet st.
- Skapa ett tecken som heter b med värdet B.
- Tilldela ett värde på A till strängen som heter st.
- Använd operatorn += för att konvertera tecken till en sträng.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
#3: Använder std::string-metoder
Klassen std::string kommer med många överbelastade funktioner som kan hjälpa dig att konvertera tecken till strängar.
De innefattar:
- trycka tillbaka Denna funktion tilldelar ett visst tecken till en strängs ände. Den är överbelastad för tecken. Den kräver följande syntax:
void push_back(char ch)
Parametern ch är tecknet som ska ändras till en sträng.
- append Den tilldelar många kopior av ett visst tecken till en sträng. Funktionen har följande syntax:
string& append(size_t n,char ch)
Parametern n anger de gånger som tecknet kommer att läggas till.
Parametern ch är tecknet som ska läggas till strängen.
- tilldela Den här funktionen ersätter det aktuella innehållet i strängen med n kopior av det angivna tecknet. Den har följande syntax:
string& assign(size_t n,char ch);
Parametern n anger det totala antalet kopior för tecknet.
Parametern ch är tecknet som ska kopieras till strängen.
- infoga Insert-funktionen infogar n kopior av ett tecken vid startpositionen för strängen, som specificerats i argumenten. Det tar följande syntax:
string& insert(size_t p,size_t n,char ch);
Parametern p anger den position från början där tecken kommer att infogas.
Parametern n anger det totala antalet kopior för tecknet.
Parametern ch är tecknet som ska infogas i strängen.
Exempel 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; }
Produktion:
Här är en skärmdump av koden:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera stränghuvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Skapa en strängvariabel med namnet st.
- Tilldela tecknet A till slutet av strängen.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text. Endl (slutraden) flyttar markören till nästa rad.
- Ställ in värdet på strängen till tom.
- Tilldela ett tecken C till strängen som heter st.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text. Endl (slutraden) flyttar markören till nästa rad.
- Ställ in värdet på strängen till tom.
- Ersätt innehållet för strängst med ett tecken D.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text. Endl (slutraden) flyttar markören till nästa rad.
- Infoga ett enda tecken E i strängen st från dess första index.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text. Endl (slutraden) flyttar markören till nästa rad.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
#4: Använder std::stringstream
För att använda den här klassen för att konvertera tecken till en sträng, infoga tecknet i strömmen.
De kommer att skrivas till strängen.
Exempel 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; }
Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkludera iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera stränghuvudfilen i vår kod för att använda dess funktioner.
- Inkludera sstream-huvudfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda dess klasser utan att anropa det.
- Anropar main()-funktionen. Programlogiken bör läggas till i kroppen av denna funktion.
- Skapa en strängvariabel med namnet st.
- Skapa en strömvariabel med namnet myst.
- Infoga karaktären A i strömobjektet myst.
- Konvertera strömobjektet till en sträng.
- Skriv ut värdet på strängen på konsolen tillsammans med annan text. Endl (slutraden) flyttar markören till nästa rad.
- Programmet måste returnera värde efter framgångsrikt slutförande.
- Slutet på huvuddelen av funktionen main().
Sammanfattning
- En röding är en C++ datatyp som används för lagring av brev.
- C++ Char är en integral datatyp, vilket betyder att värdet lagras som ett heltal.
- Den upptar en minnesstorlek på 1 byte.
- C++ Char lagrar bara enstaka tecken.
- Teckenvärden tolkas som ASCII-tecken.
- ASCII är en akronym för American Standard Code for Information Interchange.
- Den anger ett specifikt sätt att representera engelska tecken i form av siffror.
- För att se ASCII-värdet för ett tecken skickar vi det till int()-funktionen.
- För att se motsvarande teckenvärde för ASCII-värdet definierar vi ASCII som ett tecken.