c character classification
W tym samouczku wyjaśniono funkcje znaków i transformacji języka C ++ z przykładami. Niektóre ważne funkcje objęte programem to isdigit, islower, isupper, isalpha itp .:
W naszym poprzednim samouczku dotyczącym „funkcji bibliotecznych” widzieliśmy różne nagłówki, które zapewniają liczne funkcje działające na różnych typach danych. Nagłówek to taki nagłówek, który zawiera zestaw funkcji, które klasyfikują i manipulują pojedynczymi znakami.
=> Odwiedź tutaj, aby nauczyć się C ++ od podstaw.
Funkcje zadeklarowane w nagłówku przyjmują pojedynczy znak (odpowiednik liczby int) jako parametr i zwracają wartość całkowitą, która może być wartością logiczną lub wartością znakową. Wartość 0 (zero) oznacza fałsz, a wartość inna niż 0 (różna od zera) oznacza prawdę.
Te jednoznakowe funkcje mogą być używane w programie przez dołączenie nagłówka. Te funkcje są szeroko używane i akceptowane oraz są niezwykle przydatne w programowaniu w C ++ do testowania i przekształcania lub manipulowania znakami.
W tym samouczku omówimy różne funkcje znakowe i zobaczymy, jak każda z tych funkcji może być używana w programie.
Czego się nauczysz:
Funkcje znakowe C ++
Funkcje znakowe C ++ to funkcje, które pobierają tylko jeden znak jako parametr (rzutowany na int) i zwracają wynik. Mogą to być funkcje klasyfikacyjne, takie jak isalpha, isalnum, isdigit, islower, isupper itp., Aby wymienić kilka, oraz funkcje przekształcające, takie jak toupper i tolower, które przekształcają dany znak odpowiednio w wielkie lub małe litery.
W nagłówku mamy dwa typy funkcji zdefiniowane jak podano poniżej.
(i) Funkcje klasyfikacji znaków
Funkcje klasyfikacji znaków służą do sprawdzania, czy pojedynczy znak przekazany jako argument funkcji należy do określonej kategorii.
Przedstawiliśmy tabelarycznie funkcje klasyfikacji znaków zawarte w poniższym nagłówku:
Nie rób | Nazwa funkcji | Cel funkcji |
---|---|---|
7 | jest niższy | Sprawdza, czy dany znak jest małymi literami |
1 | isalnum | Sprawdza, czy dany znak jest alfanumeryczny |
dwa | isalpha | Sprawdza, czy znak jest alfabetyczny |
3 | jest pusty | Sprawdza, czy znak jest pusty |
4 | iscntrl | Sprawdza, czy dany znak jest znakiem sterującym |
5 | isdigit | Sprawdza, czy podany znak jest cyfrą dziesiętną |
6 | isgraph | Sprawdza, czy dany znak ma reprezentację graficzną |
8 | wydrukować | Sprawdza, czy znak jest znakiem drukowalnym |
9 | ispunct | Sprawdza, czy znak jest znakiem interpunkcyjnym |
10 | isspace | Sprawdza, czy znak jest odstępem |
jedenaście | isupper | Sprawdza, czy podany znak jest wielką literą |
12 | isxdigit | Sprawdza, czy cyfra szesnastkowa znaku |
(ii) Funkcje przekształcające charakter
Funkcje przekształcające znaki konwertują między przypadkami. Plik zawiera następujące funkcje.
Nie rób | Nazwa funkcji | Cel funkcji |
---|---|---|
1 | obniżyć | Konwertuje wielkie litery na małe |
dwa | toupper | Konwertuje małe litery na duże |
Przyjrzyjmy się szczegółowo każdej funkcji znakowej (klasyfikacja i przekształcanie). Przedstawimy również prosty przykład programowania w C ++ dla każdej z funkcji.
Isalnum
Prototyp funkcji: int isalnum (int c);
Parametr (y): c => Znak, który należy sprawdzić, czy jest alfanumeryczny, czy nie
Wartość zwracana:
niezerowe => c jest alfanumeryczne
0 => c nie jest alfanumeryczne
Opis: Ta funkcja sprawdza, czy dany znak c jest alfanumeryczny, czy nie. Alfanumerycznie oznacza, że znak znajduje się między A (a) -Z (z) lub od 0 do 9.
W C ++ ta funkcja jest specyficzna dla lokalizacji, a jej definicja znajduje się w nagłówku.
Przykład:
#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; }
Wynik:
Isalpha
Prototyp funkcji: int isalpha (int c);
Parametr (y): c-> Znak, który ma być sprawdzony, czy jest alfabetyczny, czy nie.
Wartość zwracana:
niezerowe => c jest alfabetyczne
0 => nie alfabetycznie
Opis: Ta funkcja sprawdza, czy podany znak c jest znakiem alfabetu, tj. Między małymi i dużymi literami. Podobnie jak isalnum, ta funkcja zależy również od używanego ustawienia narodowego.
Przykład:
#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; }
Wynik:
Jest pusty
Prototyp funkcji: int isblank (int c);
Parametr (y): c => Znak, który ma zostać sprawdzony.
Wartość zwracana:
niezerowy => znak jest pusty
0 => znak nie jest pusty
Opis: Ta funkcja sprawdza, czy podany znak jest pusty, czy nie. Pusty znak to znak spacji używany do oddzielania słów w wierszu tekstu.
W C ++ wersja funkcji isblank specyficzna dla ustawień regionalnych istnieje w.
Przykład:
#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; }
Wynik:
Zwróć uwagę na ostatni wiersz w danych wyjściowych, który mówi „nie jest pusty”. Dzieje się tak z powodu ostatniej pozycji tablicy znaków, która nie jest zainicjowana wartością, ale nadal ma pozycję drukowania. Dlatego nie jest pusta.
Iscntrl
Prototyp funkcji: int iscntrl (int c);
Parametr (y): c => Znak do sprawdzenia
Wartość zwracana:
niezerowe => c jest znakiem kontrolnym
0 => c nie jest znakiem kontrolnym
Opis: Funkcja sprawdza, czy podany parametr jest znakiem sterującym. Znak kontrolny to znak, który nie pojawia się na wyświetlaczu lub nie zajmuje pozycji drukowania.
Przykład:
#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; }
Wynik:
Isdigit
Prototyp funkcji: int isdigit (int c)
Parametr (y): c => Znak rzutowany na int, którego wartość ma zostać sprawdzona.
Wartość zwracana: niezerowe => c jest cyfrą dziesiętną
0 => c nie jest cyfrą
Opis: Ta funkcja sprawdza, czy podany parametr jest cyfrą dziesiętną, czy nie. Znak jest cyfrą dziesiętną, jeśli jej wartość mieści się w przedziale od 0 do 9.
Przykład:
#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; }
Wynik:
Isgraph
Prototyp funkcji: int isgraph (int c)
Parametr (y): c => Znak rzucany int, który jest sprawdzany za pomocą funkcji isgraph
Wartość zwracana:
niezerowe => c jest reprezentacją graficzną
0 => c nie jest reprezentacją graficzną
Opis: Funkcja sprawdza, czy podany znak c jest znakiem z reprezentacją graficzną. Znak, który można wydrukować, to znak z reprezentacją graficzną.
Przykład:
#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; }
Wynik:
Wolniejszy
Prototyp funkcji: int islower (int c)
Parametr (y): c => Znak, który ma być sprawdzany za pomocą funkcji islower.
Wartość zwracana:
non-zer0 => c to małe litery
0 => c nie jest małą literą
Opis: Funkcja jest wolniejsza, sprawdza, czy podany znak c jest małą literą, czy nie.
Mała litera to ta, która ma jedną z wartości: 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.
Przykład:
#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; }
Wynik:
Wydrukować
Prototyp funkcji: int sprint (int c)
Parametr (y): c => Znak, który ma być sprawdzany funkcją isprint.
Wartość zwracana:
non-zer0 => c jest drukowalne
0 => c nie można wydrukować
Opis: Funkcja isprint sprawdza, czy dany znak można wydrukować. Znak drukowalny to ten, który zajmuje pozycję drukowania na wyświetlaczu.
Przykład:
#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; }
Wynik:
Ispunct
Prototyp funkcji: int ispunct (int c)
Parametr (y): c => Znak, który ma być sprawdzony za pomocą funkcji ispunct.
Wartość zwracana:
niezer0 => c jest znakiem interpunkcyjnym
0 => c nie jest znakiem interpunkcyjnym
Opis: Ta funkcja sprawdza, czy podany znak jest znakiem interpunkcyjnym. Znak, który jest znakiem graficznym (z isgraph), a nie alfanumerycznym (z isalnum), nazywany jest znakiem interpunkcyjnym.
Przykład:
#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; }
Wynik:
Isspace
Prototyp funkcji: int isspace (int c)
Parametr (y): c => Znak, który ma być sprawdzony za pomocą funkcji isspace.
Wartość zwracana:
non-zer0 => c jest odstępem
0 => c nie jest odstępem
Opis: Ta funkcja sprawdza, czy podany znak jest białą spacją. W przypadku ustawień regionalnych „C” odstępy są dowolnymi z następujących znaków.
Przykład:
#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; }
Wynik:
Isupper
Prototyp funkcji: int isupper (int c)
Parametr (y): c => Znak, który ma być sprawdzony funkcją isupper.
Wartość zwracana:
non-zer0 => c jest wielką literą
0 => c nie jest wielką literą
Opis: Funkcje są niższe, sprawdzają, czy podana litera c jest wielka, czy nie.
Wielka litera to ta, która ma jedną z wartości: 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.
Przykład:
#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; }
Wynik:
Isxdigit
Prototyp funkcji: int isxdigit (int c)
Parametr (y): c => Znak, który ma być sprawdzony funkcją isxdigit.
Wartość zwracana:
niezer0 => c jest szesnastkowe
0 => c nie jest liczbą szesnastkową
Opis: Ta funkcja sprawdza, czy podany znak jest cyfrą szesnastkową. Prawidłowe cyfry szesnastkowe to 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Przykład:
#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; }
Wynik:
obniżyć
Prototyp funkcji: int tolower (int c)
Parametr (y): c => znak, który ma zostać zamieniony na małe litery.
Wartość zwracana:
zwraca niższy odpowiednik c, w przeciwnym razie niezmieniony.
Wartość zwracana to int i może być niejawnie rzutowana na char.
Opis: To konwertuje dany znak c na jego małe litery. Jeśli konwersja nie jest możliwa dla danego znaku, zwracana jest niezmieniona wartość (c).
Przykład:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Wynik:
STH przekonwertowany na małe litery: sth
toupper
Prototyp funkcji: int toupper (int c)
Parametr (y): c => znak, który ma zostać zamieniony na wielkie litery
Wartość zwracana:
zwraca górny odpowiednik c, w przeciwnym razie niezmieniony.
jak wyodrębnić pliki .7z na komputerze Mac
Wartość zwracana to int i może być niejawnie rzutowana na char.
Opis: To konwertuje dany znak c na jego odpowiednik z wielkich liter. Jeśli konwersja nie jest możliwa dla danego znaku, zwracana jest niezmieniona wartość (c).
Przykład:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Wynik:
samouczki zamienione na małe litery: TUTORIALS
Wniosek
To kończy nasz samouczek dotyczący funkcji znakowych w C ++.
W tym samouczku widzieliśmy różne funkcje, które przyjmują jeden znak, a następnie klasyfikują je lub konwertują. W naszych kolejnych samouczkach omówimy string i ich funkcje oraz klasy związane z C ++.
=> Odkryj serię prostych szkoleń C ++ tutaj.
rekomendowane lektury