C++ Char adattípus példákkal
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éket ASCII karakterként értelmezi. Ez hasonló ahhoz, ahogy a logikai értékek igazak vagy hamisak. Az ASCII az American Standard Code for Information Interchange rövidítése. Meghatározza az angol karakterek számként való megjelenítésének sajátos módját.
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:
Kód magyarázata:
- 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:
Kód magyarázata:
- 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:
Kód magyarázata:
- 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ényt használhatjuk a felhasználó által a billentyűzeten bevitt karakterek beolvasására. Az std::cin segítségével sok karaktert írhatunk be. A karakterváltozó azonban csak egy karaktert tartalmazhat. Ez azt jelenti, hogy csak az első beírt karakter kerül kibontásra és tárolásra a karakterváltozóban. A többi az std::cin által használt pufferben marad. A kibontásához hívja meg az std::cin fájlt.
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:
Kód magyarázata:
- 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:
Kód magyarázata:
- 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:
Kód magyarázata:
- 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:
Kód magyarázata:
- 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.
Összegzésként
- A char egy C++ a betűk tárolására használt adattípus.
- C++ A Char egy integrált adattípus, vagyis az érték egész számként kerül tárolásra.
- 1 bájt memóriaméretet foglal el.
- C++ A Char csak egyetlen karaktert tárol.
- A karakterértékek ASCII karakterekként kerülnek értelmezésre.
- Az ASCII az American Standard Code for Information Interchange rövidítése.
- Meghatározza az angol karakterek számok formájában történő megjelenítésének sajátos módját.
- Egy karakter ASCII értékének megtekintéséhez átadjuk az int() függvénynek.
- Az ASCII-érték megfelelő char értékének megtekintéséhez az ASCII-t karakterként definiáljuk.