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á.

  • 🔤 Ami: Egy karakter egyetlen karaktert tárol az ASCII értékének használatával.
  • 🔢 ASCII: Minden karakter egy numerikus ASCII kódhoz tartozik, például az 'A' a 65.
  • 🔧 Nyilatkozat: Karaktereket aposztrófok között deklarálj, például: char grade = 'A';.
  • 🔁 Conversion: Egy karakter ASCII értékének kiértékeléséhez int típusúra konvertálunk, majd vissza.
  • 🤖 MI segítség: Az olyan mesterséges intelligencia eszközök, mint a GitHub Copilot, azonnal kezelik a karaktereket és az ASCII kódokat.

C++ Char adattípus

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:

Char nyilatkozat

Itt van egy képernyőkép a kódról:

Char nyilatkozat

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
  2. Az std névtér belefoglalása a kódunkba, hogy az osztályait hívás nélkül használhassuk.
  3. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  4. 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.
  5. Nyomtassa ki a változó fokozat értékét a konzolon lévő egyéb szövegek mellé.
  6. A programnak értéket kell visszaadnia a sikeres befejezés után.
  7. 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:

ASCII-érték nyomtatása

Itt van egy képernyőkép a kódról:

ASCII-érték nyomtatása

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba annak érdekében, hogy a funkcióit használhassuk.
  2. Az std névteret bele kell foglalni a kódunkba, hogy az osztályait hívás nélkül használhassuk.
  3. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  4. Deklaráljunk egy ch nevű char változót.
  5. 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.
  6. Olvassa be a felhasználói bevitelt a billentyűzetről, és tárolja a ch változóban.
  7. 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.
  8. A programnak értéket kell visszaadnia a sikeres befejezés után.
  9. 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:

Char érték nyomtatása

Itt van egy képernyőkép a kódról:

Char érték nyomtatása

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódba. Ezután hiba nélkül használjuk a funkcióit.
  2. Szerelje be az std névteret a kódba. Az osztályait hívás nélkül fogjuk használni.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. A programnak értéket kell visszaadnia a sikeres befejezés után.
  9. 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:

Karakterek bevitele

Itt van egy képernyőkép a kódról:

Karakterek bevitele

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
  2. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  3. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  4. Nyomtasson szöveget a konzolra.
  5. Deklaráljunk egy ch nevű karakterváltozót.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. A programnak értéket kell visszaadnia a sikeres befejezés után.
  11. 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:

Karakter átalakítása karakterláncra

Itt van egy képernyőkép a kódról:

Karakter átalakítása karakterláncra

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba a funkcióinak használatához.
  2. Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
  3. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  4. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  5. Alakítsa át a „C” karaktert 1 hosszúságú karakterláncsá, és rendelje hozzá a kapott karakterláncot a st változóhoz.
  6. Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé.
  7. A programnak értéket kell visszaadnia a sikeres befejezés után.
  8. 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:

Karakter átalakítása karakterláncra

Itt van egy képernyőkép a kódról:

Karakter átalakítása karakterláncra

Code Magyarázat:

  1. Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
  2. Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
  3. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  4. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  5. Hozzon létre egy st nevű karakterlánc-változót.
  6. Hozzon létre egy b nevű karaktert, amelynek értéke B.
  7. Rendeljen A értéket az st nevű karakterlánchoz.
  8. Használja a += operátort a karakterek karakterláncokká alakításához.
  9. Nyomtassa ki az st karakterlánc értékét a konzolon a többi szöveg mellé.
  10. A programnak értéket kell visszaadnia a sikeres befejezés után.
  11. 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:

Karakter átalakítása karakterláncra

Itt van egy képernyőkép a kódról:

Karakter átalakítása karakterláncra

  1. Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
  2. Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
  3. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  4. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  5. Hozzon létre egy st nevű karakterlánc-változót.
  6. Rendelje hozzá az A karaktert a karakterlánc végéhez.
  7. 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.
  8. Állítsa az st karakterlánc értékét üresre.
  9. Rendeljen egyetlen C karaktert az st nevű karakterlánchoz.
  10. 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.
  11. Állítsa az st karakterlánc értékét üresre.
  12. Cserélje le az st karakterlánc tartalmát egyetlen D karakterre.
  13. 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.
  14. Szúrjon be egyetlen E karaktert az st nevű karakterláncba az első indexéből.
  15. 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.
  16. A programnak értéket kell visszaadnia a sikeres befejezés után.
  17. 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:

Karakter átalakítása karakterláncra

Itt van egy képernyőkép a kódról:

Karakter átalakítása karakterláncra

Code Magyarázat:

  1. Szerelje be az iostream fejlécfájlt a kódunkba a funkcióinak használatához.
  2. Szerelje be a karakterlánc-fejlécfájlt a kódunkba a funkcióinak használatához.
  3. Szerelje be a stream fejlécfájlt a kódunkba a funkcióinak használatához.
  4. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  5. A main() függvény meghívása. A program logikáját hozzá kell adni a függvény törzséhez.
  6. Hozzon létre egy st nevű karakterlánc-változót.
  7. Hozzon létre egy myst nevű adatfolyam-változót.
  8. Szúrja be az A karaktert a myst nevű adatfolyam objektumba.
  9. Konvertálja a stream objektumot karakterláncká.
  10. 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.
  11. A programnak értéket kell visszaadnia a sikeres befejezés után.
  12. A main() függvény törzsének vége.

GYIK

A char egy olyan adattípus, amely egyetlen karaktert, például betűt, számjegyet vagy szimbólumot tárol. Egy bájtot foglal el, és belsőleg tartalmazza a karakter ASCII értékét.

Az ASCII egy szabvány, amely a karaktereket 0 és 127 közötti számokra képezi le. C++, minden karakter az ASCII kódját tárolja, tehát az 'A' értéke 65, az 'a' pedig 97.

Egy karaktert a char kulcsszó és egyetlen, aposztrófok között lévő karakter használatával deklarálhatsz, például char grade = 'A';. Aposztrófok használata kötelező, dupla idézőjelek nem.

Alakítsa át a karaktert int típusúra, például int(ch) vagy (int)ch, majd írja ki. Ez a karakter helyett a numerikus ASCII kódot jeleníti meg.

Használj cin-t az ex-szeltraction operátor egyetlen karakter, például cin és ch beolvasására. A felhasználó által beírt következő nem szóköz karaktert tárolja.

Hozzárendelhetsz egy karaktert egy std::stringhez, használhatod a karakterlánc konstruktort, vagy hozzáfűzheted, például az std::string s(1, ch); paranccsal, hogy egy egykarakteres karakterláncot hozz létre.

Az olyan mesterséges intelligencia asszisztensek, mint a GitHub Copilot, karakterből ASCII-vé konvertálnak, karakterbeviteli ciklusokat írnak, és gépelés közben javításokat javasolnak a gyakori karakter- és karakterlánchibákra.

Igen. A mesterséges intelligencia által vezérelt eszközök ASCII és kis- és nagybetűátalakító kódot generálnak, kezelik a karakterláncból karakterláncba konvertálásokat, és jelzik a hibákat, például az idézőjelek használatát egyetlen karakter helyett.

Foglald össze ezt a bejegyzést a következőképpen: