C++ Char adattípus példákkal
⚡ Okos összefoglaló
A char adattípus a C++ egyetlen karaktert, például betűt vagy számjegyet tárol ASCII értékével. Itt megtanulhatod, hogyan deklarálhatsz karaktereket, hogyan nyomtathatsz ASCII értékeket, hogyan adhatsz meg karaktereket, és hogyan alakíthatsz át egy karaktert karakterlánccá.

Mi az a Char?
Char egy C++ betűk tárolására tervezett adattípus. A Char egy alfanumerikus karakter rövidítése. Ez egy integrált adattípus, vagyis az érték egész számként kerül tárolásra. Egy karakter 1 bájt memóriaméretet foglal el. Egyetlen karaktert is tárol.
Mi az ASCII?
A char érték ASCII karakterként értelmezhető. Ez hasonló ahhoz, ahogyan a logikai értékeket igaznak vagy hamisnak értelmezi a rendszer. Az ASCII az American Standard rövidítése. Code az információcseréhez. Ez egy speciális módot határoz meg az angol karakterek számként való ábrázolására.
A számok 0 és 127 között mozognak. Például az „a” karakter megegyezik a 97-es ASCII-kóddal.
Char nyilatkozat
Kijelenteni a char változó be C++, a char kulcsszót használjuk. Ezt a változó nevének kell követnie. A változó a deklaráció időpontjában inicializálható. A változó értékét idézőjelek közé kell tenni.
Szintaxis
Itt van a char deklaráció szintaxisa C++:
char variable-name;
A változónév a változóhoz rendelendő név.
Ha a deklarációkor értéket kell hozzárendelni, akkor ezt a szintaxist használhatja:
char variable-name = 'value';
- A változónév a char változó neve.
- Az érték a char változóhoz rendelendő érték.
Példa 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
output:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
- Az std névtér belefoglalása a kódunkba, hogy az osztályait hívás nélkül használhassuk.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Jelöljön ki egy fokozat nevű karakteres változót. A változóhoz B értéket is rendeltek. Figyelje meg, hogy a változó értéke szimpla idézőjelek között van.
- Nyomtassa ki a változó fokozat értékét a konzolon lévő egyéb szövegek mellé.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
ASCII-érték nyomtatása
Ahogy fentebb említettük, minden karakter ASCII karakterként értelmeződik. Bármely karakter ASCII-értékét megkaphatja. Egyszerűen átadja a karaktert az int() függvénynek. Ezt a folyamatot típusöntésnek nevezik. Mutassuk meg ezt:
Példa 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:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Az iostream fejlécfájl belefoglalása a kódunkba annak érdekében, hogy a funkcióit használhassuk.
- Az std névteret bele kell foglalni a kódunkba, hogy az osztályait hívás nélkül használhassuk.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Deklaráljunk egy ch nevű char változót.
- Nyomtasson szöveget a konzolra. A szöveg arra kéri a felhasználót, hogy adjon meg egy értéket a ch változóhoz.
- Olvassa be a felhasználói bevitelt a billentyűzetről, és tárolja a ch változóban.
- Nyomtasson szöveget a konzolra. A szöveg tartalmazza a ch változóhoz megadott karaktert, a karakter ASCII-értékét és egyéb szövegeket.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
Char érték nyomtatása
Adott egy ASCII érték, a C++ A fordító vissza tudja adni a megfelelő karaktert. Deklarálsz egy char változót, és egész értéket rendelsz hozzá. A rendszer a megfelelő karakterértékre konvertálja.
Példa 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
output:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Az iostream fejlécfájl belefoglalása a kódba. Ezután hiba nélkül használjuk a funkcióit.
- Szerelje be az std névteret a kódba. Az osztályait hívás nélkül fogjuk használni.
- A main() függvény meghívása. A program logikájának be kell kerülnie ennek a függvénynek a törzsébe.
- Deklaráljunk három char változót: x, y és z. A háromhoz 65, 66 és 67 egész értékeket rendeltek. Ezeket a karakterek ASCII-értékeiként kezeljük.
- Nyomtassa ki az x változó értékét a konzolon. Mivel x karakterként volt deklarálva, a 65 ASCII értékű karakter kerül visszaadásra, azaz A.
- Nyomtassa ki az y változó értékét a konzolon. Mivel y karakterként volt deklarálva, a 66 ASCII értékű karakter kerül visszaadásra, azaz B.
- Nyomtassa ki a z változó értékét a konzolon. Mivel z karakterként volt deklarálva, a 67-es ASCII értékű char kerül visszaadásra, azaz C.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
Karakterek bevitele
Az std::cin függvénnyel beolvashatjuk a felhasználó által a billentyűzeten beírt karaktert. Az std::cin lehetővé teszi több karakter bevitelét. A karakterváltozó azonban csak egy karaktert tartalmazhat. Ez azt jelenti, hogy csak az elsőként beírt karakter lesz érvényes.tracés a karakterváltozóban tárolódik. A többi az std::cin által használt pufferben marad. PéldáultracHa ezt szeretnéd, hívd meg a std::cin függvényt.
Példa 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:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Nyomtasson szöveget a konzolra.
- Deklaráljunk egy ch nevű karakterváltozót.
- Felhasználói bevitel olvasása a billentyűzetről. A bemenet a ch változóban lesz tárolva. Mivel a felhasználó olyan karaktersorozatot ír be, mint az abc, csak az első karakter, az a kerül tárolásra a ch változóban.
- Az első beírt karakter, annak ASCII kódja és egyéb szövegek kinyomtatása a konzolon. Az ASCII kódot a karakteres változó int() függvénynek való átadásával határozzuk meg.
- Olvassa el a felhasználó által beírt következő karaktert. A felhasználónak nem kell új karaktert beírnia. Ehelyett a második beírt karaktert fogja olvasni, azaz a b.
- A második beírt karakter, annak ASCII kódja és egyéb szövegek kinyomtatása a konzolon. Az ASCII kódot a karakteres változó int() függvénynek való átadásával határozzuk meg.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
Karakter átalakítása karakterláncra
Számos mód létezik a karakterek konvertálására húrok.
Beszéljük meg őket:
#1: A String osztály által megadott konstruktor használata
Ezt a következő szintaxis használatával lehet megtenni:
string st(int n,char x);
Az n paraméter a generálandó karakterlánc méretét jelöli.
Az x paraméter a karakterláncsá alakítandó karakter.
A függvény egy karakterláncot ad vissza.
Példa 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
output:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
- Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Alakítsa át a „C” karaktert 1 hosszúságú karakterláncsá, és rendelje hozzá a kapott karakterláncot a st változóhoz.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
#2) Az std::string használata Operators = és +=
Az = és += operátorok már túl vannak terhelve karakterekkel. A kettő használható egy adott karakter karaktersorozattá alakítására.
Példa 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:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Hozzon létre egy st nevű karakterlánc-változót.
- Hozzon létre egy b nevű karaktert, amelynek értéke B.
- Rendeljen A értéket az st nevű karakterlánchoz.
- Használja a += operátort a karakterek karakterláncokká alakításához.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
#3: Std::string metódusok használata
Az std::string osztály számos túlterhelt függvényt tartalmaz, amelyek segíthetnek a karakterek karakterláncokká alakításában.
Ezek közé tartozik:
- visszavet Ez a funkció egy adott karaktert rendel a karakterlánc végéhez. Túl van terhelve a karakterekkel. A következő szintaxist használja:
void push_back(char ch)A ch paraméter az a karakter, amelyet karakterláncra kell módosítani.
- mellékel Egy karakterlánchoz sok másolatot rendel hozzá. A függvény a következő szintaxist veszi fel:
string& append(size_t n,char ch)
Az n paraméter a karakter hozzáfűzésének időit jelöli.
A ch paraméter a karakterlánchoz hozzáfűzendő karakter.
- rendelni Ez a függvény lecseréli a karakterlánc aktuális tartalmát a megadott karakter n példányára. A következő szintaxist alkalmazza:
string& assign(size_t n,char ch);
Az n paraméter a karakter teljes példányszámát jelöli.
A ch paraméter a karakterláncba másolandó karakter.
- helyezze Az insert függvény egy karakter n példányát szúrja be a karakterlánc kezdőpozíciójába, az argumentumokban meghatározottak szerint. A következő szintaxist veszi igénybe:
string& insert(size_t p,size_t n,char ch);
A p paraméter a kezdettől fogva azt a pozíciót jelöli, ahová a karaktereket be kell illeszteni.
Az n paraméter a karakter teljes példányszámát jelöli.
A ch paraméter a karakterláncba beillesztendő karakter.
Példa 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:
Itt van egy képernyőkép a kódról:
- Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Hozzon létre egy st nevű karakterlánc-változót.
- Rendelje hozzá az A karaktert a karakterlánc végéhez.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé. Az endl (végsor) a kurzort a következő sorra mozgatja.
- Állítsa az st karakterlánc értékét üresre.
- Rendeljen egyetlen C karaktert az st nevű karakterlánchoz.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé. Az endl (végsor) a kurzort a következő sorra mozgatja.
- Állítsa az st karakterlánc értékét üresre.
- Cserélje le az st karakterlánc tartalmát egyetlen D karakterre.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé. Az endl (végsor) a kurzort a következő sorra mozgatja.
- Szúrjon be egyetlen E karaktert az st nevű karakterláncba az első indexéből.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé. Az endl (végsor) a kurzort a következő sorra mozgatja.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
#4: Std::stringstream használata
Ha ezt az osztályt szeretné használni a karakterek karakterláncsá alakításához, illessze be a karaktert az adatfolyamba.
A karakterláncba íródnak.
Példa 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:
Itt van egy képernyőkép a kódról:
Code Magyarázat:
- Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be a stream fejlécfájlt a kódunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
- Hozzon létre egy st nevű karakterlánc-változót.
- Hozzon létre egy myst nevű adatfolyam-változót.
- Szúrja be az A karaktert a myst nevű adatfolyam objektumba.
- Konvertálja a stream objektumot karakterláncká.
- Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé. Az endl (végsor) a kurzort a következő sorra mozgatja.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.









