C++ Char Data Type med eksempler
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 booleske værdier fortolkes som værende sande eller falske. ASCII er et akronym for American Standard Code for Information Interchange. Den definerer en specifik måde at repræsentere engelske tegn som tal.
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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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 std::cin-funktionen til at læse et tegn indtastet af brugeren via tastaturet. Std::cin giver dig mulighed for at indtaste mange tegn. Tegnvariablen kan dog kun indeholde ét tegn. Dette betyder, at kun det første indtastede tegn vil blive ekstraheret og gemt i tegnvariablen. Resten forbliver i bufferen brugt af std::cin. For at udtrække den skal du foretage efterfølgende opkald 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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().
Resumé
- En char er en C++ datatype, der bruges til opbevaring af breve.
- C++ Char er en integral datatype, hvilket betyder, at værdien er gemt som et heltal.
- Det optager en hukommelsesstørrelse på 1 byte.
- C++ Char gemmer kun et enkelt tegn.
- Char-værdier fortolkes som ASCII-tegn.
- ASCII er et akronym for American Standard Code for Information Interchange.
- Den angiver en specifik måde at repræsentere engelske tegn i form af tal.
- For at se ASCII-værdien af et tegn, sender vi den til int()-funktionen.
- For at se den tilsvarende char-værdi af ASCII-værdi, definerer vi ASCII som et tegn.