c character classification
U ovom se priručniku na primjer objašnjavaju funkcije karaktera i transformacije C ++. Neke važne funkcije koje su obuhvaćene su isdigit, islower, isupper, isalpha itd.:
U našem prethodnom vodiču o 'funkcijama knjižnice' vidjeli smo različita zaglavlja koja pružaju brojne funkcije koje rade na različitim vrstama podataka. Zaglavlje je jedno takvo zaglavlje koje sadrži skup funkcija koje klasificiraju i manipuliraju pojedinačnim znakovima.
=> Posjetite ovdje da biste C ++ naučili od nule.
Funkcije deklarirane u zaglavlju uzimaju jedan parametar (int ekvivalent) kao parametar i vraćaju cijelu vrijednost koja može biti logička vrijednost ili vrijednost znaka. Vrijednost 0 (nula) označava false, dok vrijednost koja nije 0 (nije nula) označava true.
Ove funkcije s jednim znakom mogu se koristiti u programu uključivanjem zaglavlja. Te se funkcije široko koriste i prihvaćaju te su izuzetno korisne u programiranju na C ++ za testiranje i transformiranje ili manipulaciju znakovima.
U ovom uputstvu razgovarat ćemo o raznim funkcijama znakova i vidjeti kako se svaka od tih funkcija može koristiti u programu.
Što ćete naučiti:
Funkcije znakova C ++
Funkcije znakova C ++ su funkcije koje uzimaju samo jedan znak kao parametar (lijevan u int) i vraćaju rezultat. To mogu biti funkcije klasifikacije poput isalpha, isalnum, isdigit, islower, isupper, itd. Da nabrojimo nekoliko i transformiranje funkcija poput toupper i tolower koje transformiraju zadani znak u veliko ili malo.
U zaglavlju imamo dvije vrste funkcija definirane kako je navedeno u nastavku.
(i) Funkcije klasifikacije likova
Funkcije klasifikacije znakova koriste se za provjeru pripada li pojedinačni znak kao argument funkciji određenoj kategoriji.
Tabelarizirali smo funkcije klasifikacije znakova uključene u zaglavlje u nastavku:
Nemoj | Naziv funkcije | Svrha funkcije |
---|---|---|
7 | niže | Provjerava je li zadani znak malim slovima |
1 | isalnum | Provjerava je li dati znak alfanumerički |
dva | isalfa | Provjerava je li znak abecedni |
3 | je prazno | Provjerava je li znak prazan |
4 | iscntrl | Provjerava je li zadani znak kontrolni znak |
5 | isdigit | Provjerava je li zadani znak decimalna znamenka |
6 | isgraph | Provjerava ima li zadani znak grafički prikaz |
8 | isprint | Provjerava je li znak znak za ispis |
9 | ispunct | Provjerava je li znak interpunkcijski znak |
10 | isspace | Provjerava je li znak razmak |
jedanaest | isupper | Provjerava je li zadani znak velik |
12 | isxdigit | Provjerava je li znak heksadecimalni |
(ii) Funkcije transformacije znakova
Funkcije pretvaranja znakova pretvaraju se između slučajeva. Sljedeće su funkcije uključene u datoteku.
Nemoj | Naziv funkcije | Svrha funkcije |
---|---|---|
1 | spustiti | Pretvara velika slova u mala |
dva | toupper | Pretvara mala slova u velika |
Pogledajmo detaljno svaku od karakternih funkcija (klasifikacija i pretvaranje). Također ćemo predstaviti jednostavan primjer programiranja na C ++ za svaku od funkcija.
Isalnum
Prototip funkcije: int isalnum (int c);
Parametar (i): c => Znak koji treba provjeriti alfanumerički ili ne
Povratna vrijednost:
nije nula => c je alfanumerički
0 => c nije alfanumerički
Opis: Ova funkcija provjerava je li zadani znak c alfanumerički ili nije. Alfanumerički znači da je znak između A (a) -Z (z) ili 0 do 9.
U C ++-u je ova funkcija specifična za lokalni jezik i njezina je definicija prisutna u zaglavlju.
Primjer:
#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; }
Izlaz:
Isalpha
Prototip funkcije: int isalpha (int c);
Parametar (i): c-> Znak koji treba provjeriti abecedno ili ne.
Povratna vrijednost:
nije nula => c abecedno je
0 => nije abecedno
Opis: Ova funkcija provjerava je li zadani znak c abecedni znak, tj. Među malim i velikim slovima. Kao i isalnum, ova funkcija također ovisi o lokalitetu koji koristimo.
Primjer:
#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; }
Izlaz:
Isblank
Prototip funkcije: int isblank (int c);
Parametar (i): c => Znak koji treba provjeriti.
Povratna vrijednost:
nije nula => znak je prazan
0 => znak nije prazan
Opis: Ova funkcija provjerava je li zadani znak prazan ili nije. Prazni znak je razmak koji se koristi za razdvajanje riječi u retku teksta.
U C ++-u postoji specifična verzija funkcije isblank u jeziku.
Primjer:
#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; }
Izlaz:
Obratite pažnju na zadnji redak u izlazu koji kaže 'nije prazan'. To je zbog posljednjeg položaja niza znakova koji nije inicijaliziran u vrijednost, ali još uvijek ima položaj ispisa. Stoga nije prazno.
Iscntrl
Prototip funkcije: int iscntrl (int c);
Parametar (i): c => Znak koji treba provjeriti
Povratna vrijednost:
nije nula => c je kontrolni znak
0 => c nije kontrolni znak
Opis: Funkcija provjerava je li zadani parametar kontrolni znak. Kontrolni znak je znak koji se ne pojavljuje na zaslonu ili ne zauzima položaj ispisa.
Primjer:
#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; }
Izlaz:
Isdigit
Prototip funkcije: int isdigit (int c)
Parametar (i): c => Znak lijevan u int čiju vrijednost treba provjeriti.
Povratna vrijednost: nije nula => c je decimalna znamenka
0 => c nije znamenka
Opis: Ova funkcija provjerava je li zadani parametar decimalna znamenka ili nije. Znak je decimalna znamenka ako je njegova vrijednost između 0 i 9.
Primjer:
#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; }
Izlaz:
Isgraph
Prototip funkcije: int isgraph (int c)
Parametar (i): c => Znak lijevan int koji se provjerava pomoću funkcije isgraph
Povratna vrijednost:
nije nula => c je grafički prikaz
0 => c nije grafički prikaz
Opis: Funkcija provjerava je li zadani znak c znak s grafičkim prikazom. Znak koji se može ispisati je znak s grafičkim prikazom.
Primjer:
#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; }
Izlaz:
Islower
Prototip funkcije: int islower (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije islower.
Povratna vrijednost:
non-zer0 => c je mala
0 => c nije malo
Opis: Funkcija islower provjerava je li zadani znak c malim slovom ili nije.
Maleni je znak onaj koji ima jednu od vrijednosti: 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.
Primjer:
#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; }
Izlaz:
Isprint
Prototip funkcije: int sprint (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije isprint.
Povratna vrijednost:
non-zer0 => c je za ispis
0 => c nije za ispis
Opis: Funkcija isprint provjerava je li zadani znak ispisiv. Znak za ispis je onaj koji zauzima položaj ispisa na zaslonu.
Primjer:
#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; }
Izlaz:
Ispunkt
Prototip funkcije: int ispunct (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije ispunct.
Povratna vrijednost:
non-zer0 => c je interpunkcijski znak
0 => c nije interpunkcijski znak
Opis: Ova funkcija provjerava je li zadani znak interpunkcijski znak. Kaže se da je znak interpunkcije znak koji je grafički znak (iz isgraph-a), a ne alfanumerički (iz isalnum-a).
Primjer:
#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; }
Izlaz:
Prostor za pitanja
Prototip funkcije: int isspace (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije isspace.
Povratna vrijednost:
non-zer0 => c je razmak
0 => c nije razmak
Opis: Ova funkcija provjerava je li zadani znak razmak. Za lokalitet 'C' razmaci su bilo koji od sljedećih.
Primjer:
#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; }
Izlaz:
Isupper
Prototip funkcije: int isupper (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije isupper.
Povratna vrijednost:
non-zer0 => c je veliko slovo
0 => c nije veliko
Opis: Funkcije islower provjeravaju je li zadani znak c velikim slovima ili nije.
Veliko slovo je ono koje ima jednu od vrijednosti: 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.
Primjer:
#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; }
Izlaz:
Isxdigit
Prototip funkcije: int isxdigit (int c)
Parametar (i): c => Znak koji treba provjeriti pomoću funkcije isxdigit.
Povratna vrijednost:
non-zer0 => c je heksadecimalni
0 => c nije heksadecimalni
Opis: Ova funkcija provjerava je li zadani znak heksadecimalna znamenka. Važeće heksadecimalne znamenke su 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Primjer:
#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; }
Izlaz:
spustiti
Prototip funkcije: int tolower (int c)
Parametar (i): c => Znak koji treba pretvoriti u mala slova.
Povratna vrijednost:
vraća donji ekvivalent c, nepromijenjen u suprotnom.
Povratna vrijednost je int i može se implicitno prebaciti u char.
Opis: To pretvara zadani znak c u njegov mali ekvivalent. Ako pretvorba nije moguća za zadani znak, vraća se nepromijenjena vrijednost (c).
Primjer:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Izlaz:
STH pretvoren u mala slova: sth
toupper
Prototip funkcije: int toupper (int c)
Parametar (i): c => znak koji treba pretvoriti u velika slova
Povratna vrijednost:
vraća gornji ekvivalent c, nepromijenjen u suprotnom.
qa pitanja i odgovori za automatizacijski intervju
Povratna vrijednost je int i može se implicitno prebaciti u char.
Opis: To pretvara zadani znak c u njegov veliki ekvivalent. Ako pretvorba za dati znak nije moguća, vraća se nepromijenjena vrijednost (c).
Primjer:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Izlaz:
tutorijali pretvoreni u mala slova: VODIČI
Zaključak
Ovim završavamo naš vodič o funkcijama znakova u C ++.
U ovom uputstvu vidjeli smo razne funkcije koje uzimaju jedan znak, a zatim ih klasificiraju ili pretvaraju. U našim slijedećim vodičima razgovarat ćemo o stringu i njihovim funkcijama i klasama vezanim uz C ++.
=> Ovdje otkrijte jednostavne serije obuke za C ++.
Preporučena literatura