c character classification
Ta vadnica s primeri pojasnjuje funkcije in pretvorbo znakov C ++. Nekaj pomembnih funkcij, ki jih pokrivamo, so številka, manjša, zgornja, isalfa itd.:
V prejšnji vadnici o 'funkcijah knjižnice' smo videli različne glave, ki ponujajo številne funkcije, ki delujejo na različne vrste podatkov. Glava je ena taka glava, ki vsebuje nabor funkcij za razvrščanje in upravljanje posameznih znakov.
=> Obiščite tukaj, če se želite naučiti C ++ iz nič.
Funkcije, deklarirane v glavi, vzamejo en parameter (int ekvivalent) kot parameter in vrnejo celoštevilčno vrednost, ki je lahko logična ali znakovna vrednost. Vrednost 0 (nič) pomeni false, vrednost, ki ni 0 (ni nič), pa true.
Te enoznačne funkcije lahko v programu uporabljate tako, da vključite glavo. Te funkcije se pogosto uporabljajo in sprejemajo ter so izjemno koristne pri programiranju na C ++ za testiranje in preoblikovanje ali manipulacijo z znaki.
V tej vadnici bomo razpravljali o različnih funkcijah znakov in videli, kako lahko vsako od teh funkcij uporabimo v programu.
Kaj se boste naučili:
Funkcije znakov C ++
Funkcije znakov C ++ so funkcije, ki za parameter vzamejo samo en znak (uliven v int) in vrnejo rezultat. To so lahko funkcije razvrščanja, kot so isalpha, isalnum, isdigit, islower, isupper itd., Če naštejemo le nekatere in preoblikujemo funkcije, kot sta toupper in tolower, ki dani znak pretvorijo v velike ali male črke.
V glavi imamo opredeljeni dve vrsti funkcij, kot je navedeno spodaj.
(i) Funkcije za razvrščanje znakov
Funkcije za razvrščanje znakov se uporabljajo za preverjanje, ali posamezni znak, ki je funkciji predan kot argument, spada v določeno kategorijo.
Tabelarizirali smo funkcije razvrščanja znakov, vključene v spodnjo glavo:
Ne | Ime funkcije | Namen funkcije |
---|---|---|
7. | nižje | Preveri, ali je dani znak napisan z malimi črkami |
1. | isalnum | Preveri, ali je dani znak alfanumeričen |
dva | isalfa | Preveri, ali je znak abecedni |
3. | je prazno | Preveri, ali je znak prazen |
4. | iscntrl | Preveri, ali je dani znak nadzorni znak |
5. | isdigit | Preveri, ali je dani znak decimalna številka |
6. | isgraph | Preveri, ali ima dani znak grafični prikaz |
8. | natisni | Preveri, ali je znak natisljiv |
9. | izpolct | Preveri, ali je znak ločila |
10. | isspace | Preveri, ali je znak presledek |
enajst | isupper | Preveri, ali je dani znak velik |
12. | isxdigit | Preveri, ali je znak šestnajstiški |
(ii) Funkcije preoblikovanja znakov
Funkcije za pretvorbo znakov pretvarjajo med velikimi in malimi črkami V datoteko so vključene naslednje funkcije.
Ne | Ime funkcije | Namen funkcije |
---|---|---|
1. | znižati | Pretvori velik znak v malega |
dva | tuper | Pretvori male črke v velike |
Oglejmo si podrobno vsako funkcijo znakov (klasifikacija in preoblikovanje). Predstavili bomo tudi preprost primer programiranja C ++ za vsako funkcijo.
Isalnum
Prototip funkcije: int isalnum (int c);
Parametri: c => Znak, ki ga je treba preveriti, če je črkovno-številčen ali ne
Vrnjena vrednost:
ne-nič => c je alfanumerično
0 => c ni alfanumerično
Opis: Ta funkcija preveri, ali je dani znak c alfanumeričen ali ne. Alfanumerično pomeni, da je znak med A (a) -Z (z) ali 0 do 9.
V C ++ je ta funkcija specifična za jezik in njena definicija je prisotna v glavi.
Primer:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
Izhod:
Isalfa
Prototip funkcije: int izalfa (int c);
Parametri: c-> Znak, ki ga je treba preveriti po abecedi ali ne.
Vrnjena vrednost:
ne-nič => c je abecedno
0 => ni abecedno
Opis: Ta funkcija preveri, ali je dani znak c abecedni znak, to je med malimi in velikimi črkami. Tako kot isalnum je tudi ta funkcija odvisna od jezika, ki ga uporabljamo.
Primer:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
Izhod:
Isblank
Prototip funkcije: int isblank (int c);
Parametri: c => Znak, ki ga je treba preveriti.
Vrnjena vrednost:
ne-nič => znak je prazen
0 => znak ni prazen
Opis: Ta funkcija preveri, ali je dani znak prazen ali ne. Prazen znak je presledek, ki se uporablja za ločevanje besed v vrstici besedila.
V jeziku C ++ obstaja različica funkcije isblank, značilna za jezik, v jeziku.
Primer:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
Izhod:
Upoštevajte zadnjo vrstico v izhodu, v kateri piše 'ni prazno'. To je posledica zadnjega položaja matrike znakov, ki ni inicializiran v vrednost, vendar ima še vedno položaj tiskanja. Zato ni prazno.
Iscntrl
Prototip funkcije: int iscntrl (int c);
Parametri: c => Znak za preverjanje
Vrnjena vrednost:
non-zero => c je kontrolni znak
0 => c ni kontrolni znak
Opis: Funkcija preveri, ali je dani parameter nadzorni znak. Nadzorni znak je znak, ki se ne prikaže na zaslonu ali ne zaseda položaja tiskanja.
Primer:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
Izhod:
Isdigit
Prototip funkcije: int isdigit (int c)
Parametri: c => Znak, oddan v int, katerega vrednost je treba preveriti.
Vrnjena vrednost: ne-nič => c je decimalna številka
0 => c ni številka
Opis: Ta funkcija preveri, ali je dani parameter decimalna številka ali ne. Znak je decimalna številka, če je njegova vrednost med 0 in 9.
Primer:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
Izhod:
Isgraph
Prototip funkcije: int isgraph (int c)
Parametri: c => Vlivanje znaka int, ki se preveri s funkcijo isgraph
Vrnjena vrednost:
non-zero => c je grafični prikaz
0 => c ni grafični prikaz
Opis: Funkcija preveri, ali je dani znak c znak z grafičnim prikazom. Znak, ki ga je mogoče natisniti, je znak z grafičnim prikazom.
Primer:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
Izhod:
Islower
Prototip funkcije: int islower (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo islower.
Vrnjena vrednost:
non-zer0 => c je mala črka
0 => c ni mala
Opis: Funkcija islower preveri, ali je dani znak c napisan z malimi črkami ali ne.
Mala črka je tista, ki ima eno od vrednosti: a b c d e f g h I j k l m n o p q r s t u v w x y z.
Primer:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
Izhod:
Natisni
Prototip funkcije: int sprint (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo isprint.
Vrnjena vrednost:
non-zer0 => c je za tiskanje
0 => c ni mogoče natisniti
Opis: Funkcija isprint preveri, ali je dani znak mogoče natisniti. Znak za tiskanje je tisti, ki zaseda položaj tiskanja na zaslonu.
Primer:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
Izhod:
Ispunct
Prototip funkcije: int izpolct (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo izpolct.
Vrnjena vrednost:
non-zer0 => c je ločilo
0 => c ni ločilo
Opis: Ta funkcija preveri, ali je dani znak ločila. Znak, ki je grafični znak (iz isgraph) in ne alfanumerično (iz isalnum), naj bi bil ločilo.
Primer:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
Izhod:
Prostor za vprašanja
Prototip funkcije: int isspace (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo isspace.
Vrnjena vrednost:
non-zer0 => c je presledek
0 => c ni presledek
Opis: Ta funkcija preveri, ali je dani znak presledek. Za lokalizacijo 'C' so presledki kateri koli od naslednjih znakov.
Primer:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
Izhod:
Isupper
Prototip funkcije: int isupper (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo isupper.
Vrnjena vrednost:
non-zer0 => c je velika črka
0 => c ni velika črka
Opis: Funkcije islower preverjajo, ali je dani znak c velik ali ne.
Velike črke so tiste, ki imajo eno od vrednosti: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Primer:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
Izhod:
Isxdigit
Prototip funkcije: int isxdigit (int c)
Parametri: c => Znak, ki ga je treba preveriti s funkcijo isxdigit.
Vrnjena vrednost:
non-zer0 => c je šestnajstiška
0 => c ni šestnajstiška
Opis: Ta funkcija preveri, ali je dani znak šestnajstiška številka. Veljavne šestnajstiške številke so 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Primer:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
Izhod:
znižati
Prototip funkcije: int tolower (int c)
Parametri: c => Znak, ki naj se pretvori v male črke.
Vrnjena vrednost:
vrne spodnji ekvivalent c, sicer nespremenjen.
Vrnjena vrednost je int in jo je mogoče implicitno oddati v char.
Opis: To pretvori dani znak c v njegov mali ekvivalent. Če pretvorba za dani znak ni mogoča, se vrne nespremenjena vrednost (c).
Primer:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Izhod:
STH pretvorjen v male črke: sth
tuper
Prototip funkcije: int toupper (int c)
Parametri: c => znak, ki naj se pretvori v velike črke
Vrnjena vrednost:
vrne zgornji ekvivalent c, sicer nespremenjen.
vprašanja in odgovori za tehnično podporo za svežje
Vrnjena vrednost je int in jo je mogoče implicitno oddati v char.
Opis: To pretvori dani znak c v njegov veliki ekvivalent. Če pretvorba za dani znak ni mogoča, se vrne nespremenjena vrednost (c).
Primer:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Izhod:
vaje, pretvorjene v male črke: Vadnice
Zaključek
S tem se konča naša vadnica o funkcijah znakov v jeziku C ++.
V tej vadnici smo videli različne funkcije, ki imajo en sam znak in jih nato razvrstijo ali pretvorijo. V naslednjih vajah bomo obravnavali niz ter njihove funkcije in razrede, povezane s C ++.
=> Tukaj odkrijte preprosto vadbeno serijo C ++.
Priporočeno branje