C++ Char Datatyp med exempel
โก Smart sammanfattning
Datatypen char i C++ lagrar ett enskilt tecken, sรฅsom en bokstav eller siffra, med dess ASCII-vรคrde. Hรคr lรคr du dig att deklarera tecken, skriva ut ASCII-vรคrden, mata in tecken och konvertera ett tecken till en strรคng.

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?
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 (amerikansk standard). Code fรถr informationsutbyte. 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:
Code Fรถ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:
Code Fรถ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:
Code Fรถ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 funktionen std::cin fรถr att lรคsa ett tecken som anvรคndaren matar in via tangentbordet. Med funktionen std::cin kan du ange mรฅnga tecken. Variabeln character kan dock bara innehรฅlla ett tecken. Det betyder att endast det fรถrsta tecknet som matas in kommer att lรคsas.tracoch lagras i teckenvariabeln. Resten kommer att finnas kvar i bufferten som anvรคnds av std::cin. Fรถr att t.ex.tract 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:
Code Fรถ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:
Code Fรถ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:
Code Fรถ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:
Code Fรถ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().









