C++ Char Data Type med eksempler
โก Smart opsummering
Char-datatypen i C++ gemmer et enkelt tegn, sรฅsom et bogstav eller et ciffer, ved hjรฆlp af dets ASCII-vรฆrdi. Her lรฆrer du at deklarere tegn, udskrive ASCII-vรฆrdier, indtaste tegn og konvertere et tegn til en streng.

Hvad er Char?
Char er en C++ datatype designet til opbevaring af breve. Char er en forkortelse for et alfanumerisk tegn. Det er en integral datatype, hvilket betyder, at vรฆrdien er gemt som et heltal. Et tegn tager en hukommelsesstรธrrelse pรฅ 1 byte. Den gemmer ogsรฅ et enkelt tegn.
Hvad er ASCII?
Tegnvรฆrdien fortolkes som et ASCII-tegn. Dette svarer til, hvordan boolske vรฆrdier fortolkes som sande eller falske. ASCII er et akronym for American Standard (amerikansk standard). Code til informationsudveksling. Den definerer en specifik mรฅde at reprรฆsentere engelske tegn som tal pรฅ.
Tallene gรฅr mellem 0 og 127. For eksempel svarer tegnet 'a' til ASCII-kode 97.
Char-deklaration
At erklรฆre en char variabel i C++, bruger vi sรธgeordet char. Dette skal efterfรธlges af navnet pรฅ variablen. Variablen kan initialiseres pรฅ tidspunktet for deklarationen. Vรฆrdien af โโvariablen skal vรฆre omgivet af enkelte anfรธrselstegn.
Syntaks
Her er syntaksen for char-deklaration i C++:
char variable-name;
Variabelnavnet er det navn, der skal tildeles variablen.
Hvis en vรฆrdi skal tildeles pรฅ tidspunktet for erklรฆringen, kan du bruge denne syntaks:
char variable-name = 'value';
- Variabelnavnet er navnet pรฅ char-variablen.
- Vรฆrdien er den vรฆrdi, der skal tildeles char-variablen.
Eksempel 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluderer std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Erklรฆr en tegnvariabel ved navn grade. Variablen er ogsรฅ blevet tildelt en vรฆrdi pรฅ B. Bemรฆrk, at vรฆrdien af โโvariablen er omgivet af enkelte anfรธrselstegn.
- Udskriv vรฆrdien af โโden variable karakter sammen med anden tekst pรฅ konsollen.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
Udskrivning af ASCII-vรฆrdi
Som nรฆvnt ovenfor fortolkes hvert tegn som ASCII-tegn. Det er muligt for dig at fรฅ ASCII-vรฆrdien for et hvilket som helst tegn. Du sender simpelthen tegnet til int()-funktionen. Denne proces kaldes typestรธbning. Lad os 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; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluderer iostream-header-filen i vores kode for at bruge dens funktioner.
- Inkluderer std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Erklรฆr en char-variabel ved navn ch.
- Udskriv noget tekst pรฅ konsollen. Teksten beder brugeren om at indtaste en vรฆrdi for variablen kap.
- Lรฆs brugerinputtet fra tastaturet og gem det i variablen kap.
- Udskriv noget tekst pรฅ konsollen. Teksten vil inkludere det tegn, du indtastede for variabel ch, ASCII-vรฆrdien for dette tegn og anden tekst.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
Udskrivning Char Vรฆrdi
Givet en ASCII-vรฆrdi er C++ compiler kan returnere det tilsvarende tegn. Du erklรฆrer en char-variabel og tildeler den en heltalsvรฆrdi. Det vil blive konverteret til den tilsvarende tegnvรฆrdi.
Eksempel 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluderer iostream header-filen i koden. Vi vil derefter bruge dens funktioner uden at fรฅ fejl.
- Inkluder std-navneomrรฅdet i koden. Vi vil bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal gรฅ ind i kroppen af โโdenne funktion.
- Deklarer tre char-variabler x, y og z. De tre er blevet tildelt heltalsvรฆrdier pรฅ 65, 66 og 67. Disse vil blive behandlet som ASCII-vรฆrdier for tegn.
- Udskriv vรฆrdien af โโvariabel x pรฅ konsollen. Da x blev erklรฆret som en char, vil char med ASCII-vรฆrdi pรฅ 65 blive returneret, det vil sige A.
- Udskriv vรฆrdien af โโvariabel y pรฅ konsollen. Da y blev erklรฆret som et char, vil char med ASCII-vรฆrdi pรฅ 66 blive returneret, det vil sige B.
- Udskriv vรฆrdien af โโvariabel z pรฅ konsollen. Da z blev erklรฆret som et char, vil char med ASCII-vรฆrdi pรฅ 67 blive returneret, det vil sige C.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโhoved()-funktionen.
Indtastning af tegn
Vi kan bruge funktionen std::cin til at lรฆse et tegn, som brugeren har indtastet via tastaturet. Funktionen std::cin giver dig mulighed for at indtaste mange tegn. Variablen character kan dog kun indeholde รฉt tegn. Det betyder, at kun det fรธrste indtastede tegn vil blive vist.tracog gemmes i tegnvariablen. Resten forbliver i bufferen, der bruges af std::cin. For eksempeltract det, foretag efterfรธlgende kald 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; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Udskriv noget tekst pรฅ konsollen.
- Erklรฆr en tegnvariabel ved navn ch.
- Lรฆs brugerinput fra tastaturet. Indtastningen vil blive gemt i variablen kap. Da en bruger vil skrive en tegnsekvens som abc, vil kun det fรธrste tegn, a, blive gemt i variabel ch.
- Udskrivning af det fรธrste indtastede tegn, dets ASCII-kode og anden tekst pรฅ konsollen. ASCII-koden bestemmes ved at overfรธre tegnvariablen til int()-funktionen.
- Lรฆs det nรฆste tegn, som blev indtastet af brugeren. Brugeren skal ikke indtaste et nyt tegn. Den vil i stedet lรฆse det andet tegn, der blev indtastet, det vil sige b.
- Udskrivning af det andet indtastede tegn, dets ASCII-kode og anden tekst pรฅ konsollen. ASCII-koden bestemmes ved at overfรธre tegnvariablen til int()-funktionen.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
Konvertering af tegn til streng
Der findes en rรฆkke mรฅder, vi kan bruge til at konvertere tegn til strygere.
Lad os diskutere dem:
#1: Brug af konstruktรธr givet af en strengklasse
Dette kan gรธres ved hjรฆlp af fรธlgende syntaks:
string st(int n,char x);
Parameteren n angiver stรธrrelsen af โโden streng, der skal genereres.
Parameteren x er tegnet, der skal konverteres til en streng.
Funktionen 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; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluderer iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Konverter tegnet "C" til en 1-lรฆngde streng og tildel den resulterende streng til variablen st.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
#2) Brug af std::strengen Operators = og +=
= og += operatorerne er allerede overbelastet med tegn. De to kan bruges til at 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; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluder iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Opret en strengvariabel ved navn st.
- Opret et tegn ved navn b med vรฆrdien B.
- Tildel en vรฆrdi af A til strengen ved navn st.
- Brug operatoren += til at konvertere tegn til en streng.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
#3: Brug af std::string-metoder
Std::string-klassen kommer med mange overbelastede funktioner, der kan hjรฆlpe dig med at konvertere tegn til strenge.
De omfatter:
- skub tilbage Denne funktion tildeler et bestemt tegn til en strengs ende. Det er overbelastet for tegn. Det krรฆver fรธlgende syntaks:
void push_back(char ch)Parameteren ch er det tegn, der skal รฆndres til en streng.
- append Den tildeler mange kopier af et bestemt tegn til en streng. Funktionen tager fรธlgende syntaks:
string& append(size_t n,char ch)
Parameteren n angiver de tidspunkter, hvor tegnet vil blive tilfรธjet.
Parameteren ch er tegnet, der skal tilfรธjes til strengen.
- tildele Denne funktion erstatter det aktuelle indhold af strengen med n kopier af det angivne tegn. Det tager fรธlgende syntaks:
string& assign(size_t n,char ch);
Parameteren n angiver det samlede antal kopier for tegnet.
Parameteren ch er tegnet, der skal kopieres ind i strengen.
- INSERT Indsรฆt-funktionen indsรฆtter n kopier af et tegn ved startpositionen af โโstrengen, som angivet i argumenterne. Det tager fรธlgende syntaks:
string& insert(size_t p,size_t n,char ch);
Parameteren p angiver den position fra starten, hvor tegn vil blive indsat.
Parameteren n angiver det samlede antal kopier for tegnet.
Parameteren ch er det tegn, der skal indsรฆttes 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; }
Output:
Her er et skรฆrmbillede af koden:
- Inkluder iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Opret en strengvariabel ved navn st.
- Tildel tegnet A til slutningen af โโstrengen.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst. Endl (slutlinjen) flytter markรธren til nรฆste linje.
- Indstil vรฆrdien af โโstrengens st til tom.
- Tildel enkelt tegn C til strengen med navnet st.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst. Endl (slutlinjen) flytter markรธren til nรฆste linje.
- Indstil vรฆrdien af โโstrengens st til tom.
- Erstat indholdet for strengst med et enkelt tegn D.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst. Endl (slutlinjen) flytter markรธren til nรฆste linje.
- Indsรฆt et enkelt tegn E i strengen med navnet st fra dets fรธrste indeks.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst. Endl (slutlinjen) flytter markรธren til nรฆste linje.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().
#4: Brug af std::stringstream
For at bruge denne klasse til at konvertere tegn til en streng, skal du indsรฆtte tegnet i stream.
De vil blive 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; }
Output:
Her er et skรฆrmbillede af koden:
Code Forklaring:
- Inkluder iostream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder sstream-headerfilen i vores kode for at bruge dens funktioner.
- Inkluder std-navneomrรฅdet i vores kode for at bruge dets klasser uden at kalde det.
- Kalder hoved()-funktionen. Programlogikken skal tilfรธjes i denne funktions brรธdtekst.
- Opret en strengvariabel ved navn st.
- Opret en strรธmvariabel ved navn myst.
- Indsรฆt karakteren A i strรธmobjektet myst.
- Konverter stream-objektet til en streng.
- Udskriv vรฆrdien af โโstrengen pรฅ konsollen sammen med anden tekst. Endl (slutlinjen) flytter markรธren til nรฆste linje.
- Programmet skal returnere vรฆrdi efter vellykket afslutning.
- Slutningen af โโhoveddelen af โโfunktionen main().









