Vad är Char?
Char är en C ++ datatyp utformad för lagring av bokstäver. Char är en akronym för en karaktär. Det är en integrerad datatyp, vilket innebär att värdet lagras som ett heltal. En röd tar en minnesstorlek på 1 byte. Den lagrar också en enda karaktär.
I denna C ++ -handledning lär du dig:
- Vad är Char?
- Vad är ASCII?
- Char Deklaration
- Syntax:
- Utskrift av ASCII-värde
- Utskrift Char värde
- Mata in tecken
- Konvertera karaktär till sträng
Vad är ASCII?
Char-värdet tolkas som ett ASCII-tecken. Detta liknar hur booleska värden tolkas som sanna eller falska. ASCII är en förkortning för American Standard Code for Information Interchange. Den definierar ett specifikt sätt att representera engelska tecken som siffror.
Siffrorna ligger mellan 0 och 127. Till exempel motsvarar tecknet 'a' ASCII-kod 97.
Char Deklaration
För att deklarera en char-variabel i C ++ använder vi char-nyckelordet. Detta bör följas av variabelns namn. Variabeln kan initieras vid tidpunkten för deklarationen. Värdet på variabeln bör bifogas inom enstaka offert.
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 deklarationen kan du använda denna syntax:
char variable-name = 'value';
- Variabelnamnet är namnet på char-variabeln.
- Värdet är det värde som ska tilldelas char-variabeln.
Exempel 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Produktion:
Här är en skärmdump av koden:
Kodförklaring:
- Inkluderar iostream-huvudfilen i vår kod för att använda dess funktioner.
- Inkluderar std-namnområdet i vår kod för att kunna använda sina klasser utan att anropa det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Förklara en teckenvariabel som heter betyg. Variabeln har också tilldelats värdet B. Observera att variabelns värde är inneslutet i enstaka citat.
- Skriv ut värdet på variabelbetyget tillsammans med annan text på konsolen.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
Utskrift av 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 vilken karaktär som helst. Du skickar helt enkelt karaktären till int () -funktionen. Denna process kallas typgjutning. Låt oss demonstrera detta:
Exempel 2:
#includeusing 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:
- Inkluderar iostream-huvudfilen i vår kod för att kunna använda dess funktioner.
- Inkluderar std namnområdet i vår kod för att kunna använda sina klasser utan att anropa det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Förklara en char-variabel med namnet ch.
- Skriv ut lite text på konsolen. Texten ber användaren att ange ett värde för variabeln ch.
- Läs användarinmatningen från tangentbordet och lagra den i variabeln ch.
- Skriv ut lite text på konsolen. Texten kommer att innehålla tecknet du angav för variabel ch, ASCII-värdet för detta tecken och annan text.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
Utskrift Char värde
Med ett ASCII-värde kan C ++ - kompilatorn returnera motsvarande tecken. Du förklarar en char-variabel och tilldelar den ett heltal. Den konverteras till motsvarande teckenvärde.
Exempel 3:
#includeusing 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-rubrikfilen 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.
- Ringer till huvudfunktionen (). Programlogiken bör gå in i denna funktion.
- Förklara tre teckenvariabler x, y och z. De tre har tilldelats helvärden 65, 66 och 67. Dessa kommer att behandlas som ASCII-värden för tecken.
- Skriv ut värdet på variabeln x på konsolen. Eftersom x förklarades som en röd, kommer röd med ASCII-värde 65 att returneras, det vill säga A.
- Skriv ut värdet på variabeln y på konsolen. Eftersom y förklarades som en röd, kommer char med ASCII-värde 66 att returneras, det vill säga B.
- Skriv ut värdet på variabeln z på konsolen. Eftersom z förklarades som en röd, kommer röding med ASCII-värde 67 att returneras, det vill säga C.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionen ().
Mata in tecken
Vi kan använda std :: cin-funktionen för att läsa ett tecken som matats in av användaren via tangentbordet. Med std :: cin kan du skriva in många tecken. Teckenvariabeln kan dock bara innehålla ett tecken. Detta innebär att endast det första inmatade tecknet extraheras och lagras i teckenvariabeln. Resten förblir i bufferten som används av std :: cin. För att extrahera det, ring efterföljande samtal till std :: cin.
Exempel 4:
#includeusing 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:
- Inkluderar 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 sina klasser utan att kalla det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Skriv ut lite text på konsolen.
- Förklara en teckenvariabel med namnet ch.
- Läs användarinmatningen från tangentbordet. Ingången lagras i variabeln ch. Eftersom en användare kommer att skriva en teckensekvens som abc, kommer endast det första tecknet, a, att lagras i variabel ch.
- Utskrift av 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 användaren angav. Användaren behöver inte ange ett nytt tecken. Den läser istället det andra tecknet som matades in, det vill säga b.
- Utskrift av det andra tecknet som anges, 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 när det är klart.
- Slutet på huvudfunktionens () kropp.
Konvertera karaktär 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 konstruktör ges av en strängklass
Detta kan göras med följande syntax:
string st(int n,char x);Parametern n anger storleken på strängen som ska genereras.
Parametern x är det tecken som ska konverteras till en sträng.
Funktionen returnerar en sträng.
Exempel 5:
#include#include 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:
- Inkluderar 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 sina klasser utan att kalla det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Konvertera tecknet "C" till en 1-längdsträng och tilldela den resulterande strängen till variabeln st.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
# 2) Använda std :: string 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#include 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-rubrikfilen 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 sina klasser utan att kalla det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Skapa en strängvariabel med namnet st.
- Skapa ett tecken som heter b med värdet B.
- Tilldela värdet A till strängen med namnet st.
- Använd + = -operatören för att konvertera tecken till en sträng.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
# 3: Använda std :: string Methods
Std :: string-klassen har många överbelastade funktioner som kan hjälpa dig att konvertera tecken till strängar.
De inkluderar:
- trycka tillbaka
Denna funktion tilldelar en viss karaktär till strängens slut. Det är överbelastat för karaktärer.
Det krävs följande syntax:
void push_back(char ch)Parametern ch är det tecken som ska ändras till en sträng.
- bifoga
Det tilldelar en sträng många kopior av en viss karaktär.
Funktionen tar följande syntax:
string& append(size_t n,char ch)Parametern n anger de tider som karaktären kommer att läggas till.
Parametern ch är det tecken som ska läggas till i strängen.
- tilldela
Denna funktion ersätter det aktuella innehållet i strängen med n kopior av det angivna tecknet.
Det krävs följande syntax:
string& assign(size_t n,char ch);Parametern n anger de totala kopiorna för tecknet.
Parametern ch är det tecken som ska kopieras till strängen.
- Föra in
Infoga-funktionen infogar n kopior av ett tecken vid strängens startposition, som anges i argumenten.
Det krävs följande syntax:
string& insert(size_t p,size_t n,char ch);Parametern p anger positionen från början där tecken ska infogas.
Parametern n anger de totala kopiorna för tecknet.
Parametern ch är det tecken som ska infogas i strängen.
Exempel 7:
#include#include 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-rubrikfilen 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 sina klasser utan att kalla det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Skapa en strängvariabel med namnet st.
- Tilldela tecknet A till slutet av strängen.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text. Endl (slutrad) flyttar markören till nästa rad.
- Ställ in värdet på strängen st till tomt.
- Tilldela enstaka tecken C till strängen med namnet st.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text. Endl (slutrad) flyttar markören till nästa rad.
- Ställ in värdet på strängen st till tomt.
- Byt ut innehållet för strängst med enstaka D.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text. Endl (slutrad) flyttar markören till nästa rad.
- Infoga enstaka tecken E i strängen med namnet st från dess första index.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text. Endl (slutrad) flyttar markören till nästa rad.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
# 4: Använda std :: stringstream
Om du vill använda den här klassen för att konvertera tecken till en sträng infogar du tecknet i strömmen.
De kommer att skrivas till strängen.
Exempel 8:
#include#include #include 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-rubrikfilen 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-rubrikfilen i vår kod för att använda dess funktioner.
- Inkludera std-namnområdet i vår kod för att använda sina klasser utan att kalla det.
- Ringer till huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
- Skapa en strängvariabel med namnet st.
- Skapa en strömvariabel med namnet myst.
- Infoga karaktären A i strömobjektet med namnet myst.
- Konvertera strömobjektet till en sträng.
- Skriv ut värdet på strängen st på konsolen tillsammans med annan text. Endl (slutrad) flyttar markören till nästa rad.
- Programmet måste returnera värde när det är klart.
- Slutet på huvudfunktionens () kropp.
Sammanfattning:
- En char är en C ++ datatyp som används för lagring av bokstäver.
- C ++ Char är en integrerad datatyp, vilket innebär att värdet lagras som ett heltal.
- Den har en minnesstorlek på 1 byte.
- C ++ Char lagrar endast enstaka tecken.
- Char-värden tolkas som ASCII-tecken.
- ASCII är en förkortning för American Standard Code for Information Interchange.
- Det 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 funktionen int ().
- För att se motsvarande teckenvärde för ASCII-värde definierar vi ASCII som ett tecken.