c character classification
In diesem Tutorial werden C ++ - Zeichen- und Transformationsfunktionen anhand von Beispielen erläutert. Einige wichtige Funktionen sind isdigit, islower, isupper, isalpha usw.:
In unserem vorherigen Tutorial zu „Bibliotheksfunktionen“ haben wir die verschiedenen Header gesehen, die zahlreiche Funktionen bieten, die mit unterschiedlichen Datentypen arbeiten. Der Header ist ein solcher Header, der eine Reihe von Funktionen enthält, mit denen einzelne Zeichen klassifiziert und bearbeitet werden.
=> Besuchen Sie hier, um C ++ von Grund auf neu zu lernen.
Die im Header deklarierten Funktionen verwenden ein einzelnes Zeichen (int-Äquivalent) als Parameter und geben einen ganzzahligen Wert zurück, der entweder ein Boolescher Wert oder ein Zeichenwert sein kann. Ein Wert 0 (Null) zeigt falsch an, während ein anderer Wert als 0 (ungleich Null) wahr anzeigt.
Diese Einzelzeichenfunktionen können im Programm verwendet werden, indem der Header eingeschlossen wird. Diese Funktionen sind weit verbreitet und werden akzeptiert und sind in der C ++ - Programmierung zum Testen und Transformieren oder Bearbeiten von Zeichen äußerst nützlich.
In diesem Tutorial werden wir die verschiedenen Zeichenfunktionen diskutieren und sehen, wie jede dieser Funktionen in einem Programm verwendet werden kann.
Was du lernen wirst:
C ++ - Zeichenfunktionen
C ++ - Zeichenfunktionen sind Funktionen, die nur ein einzelnes Zeichen als Parameter verwenden (in int umgewandelt) und ein Ergebnis zurückgeben. Dies können Klassifizierungsfunktionen wie isalpha, isalnum, isdigit, islower, isupper usw. sein, um nur einige zu nennen, und transformierende Funktionen wie toupper und tolower, die ein bestimmtes Zeichen in Groß- bzw. Kleinbuchstaben umwandeln.
In der Kopfzeile sind zwei Arten von Funktionen definiert, wie unten angegeben.
(i) Zeichenklassifizierungsfunktionen
Zeichenklassifizierungsfunktionen werden verwendet, um zu überprüfen, ob das einzelne Zeichen, das als Argument an die Funktion übergeben wurde, zu einer bestimmten Kategorie gehört.
Wir haben die Zeichenklassifizierungsfunktionen in der folgenden Kopfzeile tabellarisch aufgeführt:
Nein | Funktionsname | Funktion Zweck |
---|---|---|
7 | ist tiefer | Überprüft, ob ein bestimmtes Zeichen in Kleinbuchstaben geschrieben ist |
ein | isalnum | Überprüft, ob ein bestimmtes Zeichen alphanumerisch ist |
zwei | Isalpha | Überprüft, ob das Zeichen alphabetisch ist |
3 | ist leer | Überprüft, ob das Zeichen leer ist |
4 | iscntrl | Überprüft, ob das angegebene Zeichen ein Steuerzeichen ist |
5 | isdigit | Überprüft, ob das angegebene Zeichen eine Dezimalstelle ist |
6 | isgraph | Überprüft, ob das angegebene Zeichen eine grafische Darstellung hat |
8 | Überprüft, ob das Zeichen ein druckbares Zeichen ist | |
9 | ispunct | Überprüft, ob das Zeichen ein Interpunktionszeichen ist |
10 | isspace | Überprüft, ob das Zeichen ein Leerzeichen ist |
elf | isupper | Überprüft, ob das angegebene Zeichen in Großbuchstaben geschrieben ist |
12 | isxdigit | Überprüft, ob das Zeichen eine hexadezimale Ziffer ist |
(ii) Charaktertransformationsfunktionen
Zeichentransformationsfunktionen konvertieren zwischen Fällen. Die folgenden Funktionen sind in der Datei enthalten.
Nein | Funktionsname | Funktionszweck |
---|---|---|
ein | zu senken | Konvertiert Großbuchstaben in Kleinbuchstaben |
zwei | toupper | Konvertiert Kleinbuchstaben in Großbuchstaben |
Sehen wir uns die einzelnen Zeichenfunktionen (Klassifizierung und Transformation) im Detail an. Wir werden auch ein einfaches C ++ - Programmierbeispiel für jede der Funktionen vorstellen.
Isalnum
Funktionsprototyp: int isalnum (int c);
Parameter: c => Ein Zeichen, das überprüft werden sollte, ob es alphanumerisch ist oder nicht
Rückgabewert:
ungleich Null => c ist alphanumerisch
0 => c ist nicht alphanumerisch
Beschreibung: Diese Funktion prüft, ob ein bestimmtes Zeichen c alphanumerisch ist oder nicht. Mit alphanumerisch bedeutet dies, dass ein Zeichen zwischen A (a) -Z (z) oder 0 bis 9 liegt.
In C ++ ist diese Funktion länderspezifisch und ihre Definition ist im Header vorhanden.
Beispiel:
#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; }
Ausgabe:
Isalpha
Funktionsprototyp: int isalpha (int c);
Parameter: c-> Zeichen, das überprüft werden soll, ob alphabetisch oder nicht.
Rückgabewert:
ungleich Null => c ist alphabetisch
0 => nicht alphabetisch
Beschreibung: Diese Funktion prüft, ob ein gegebenes Zeichen c ein alphabetisches Zeichen ist, d. H. Zwischen Klein- und Großbuchstaben. Wie isalnum hängt auch diese Funktion vom verwendeten Gebietsschema ab.
Beispiel:
#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; }
Ausgabe:
Ist leer
Funktionsprototyp: int isblank (int c);
Parameter: c => Zeichen, das überprüft werden soll.
Rückgabewert:
Nicht-Null => Zeichen ist leer
0 => Zeichen ist nicht leer
Beschreibung: Diese Funktion prüft, ob das angegebene Zeichen leer ist oder nicht. Leerzeichen sind Leerzeichen, mit denen Wörter in einer Textzeile getrennt werden.
In C ++ ist die länderspezifische Version der isblank-Funktion in vorhanden.
Beispiel:
#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; }
Ausgabe:
Beachten Sie die letzte Zeile in der Ausgabe mit der Aufschrift „ist nicht leer“. Dies liegt an der letzten Position des Zeichenarrays, die nicht mit einem Wert initialisiert wurde, aber dennoch eine Druckposition hat. Daher ist es kein Leerzeichen.
Iscntrl
Funktionsprototyp: int iscntrl (int c);
Parameter: c => Zu prüfendes Zeichen
Rückgabewert:
ungleich Null => c ist Steuerzeichen
0 => c ist kein Steuerzeichen
Beschreibung: Die Funktion prüft, ob der angegebene Parameter ein Steuerzeichen ist. Ein Steuerzeichen ist ein Zeichen, das nicht im Display angezeigt wird oder keine Druckposition einnimmt.
Beispiel:
#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; }
Ausgabe:
Isdigit
Funktionsprototyp: int isdigit (int c)
Parameter: c => Ein Zeichen, das in int umgewandelt wurde und dessen Wert überprüft werden soll.
Rückgabewert: ungleich Null => c ist eine Dezimalstelle
0 => c ist keine Ziffer
Beschreibung: Diese Funktion prüft, ob der angegebene Parameter eine Dezimalstelle ist oder nicht. Ein Zeichen ist eine Dezimalstelle, wenn sein Wert zwischen 0 und 9 liegt.
Beispiel:
#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; }
Ausgabe:
Isgraph
Funktionsprototyp: int isgraph (int c)
Parameter: c => Zeichen umgewandelt int, das mit der isgraph-Funktion überprüft wird
Rückgabewert:
ungleich Null => c ist eine grafische Darstellung
0 => c ist keine grafische Darstellung
Beschreibung: Die Funktion prüft, ob das angegebene Zeichen c ein Zeichen mit grafischer Darstellung ist. Ein Zeichen, das gedruckt werden kann, ist ein Zeichen mit grafischer Darstellung.
Beispiel:
#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; }
Ausgabe:
Ist tiefer
Funktionsprototyp: int islower (int c)
Parameter: c => Zeichen, das mit der Funktion islower überprüft werden soll.
Rückgabewert:
non-zer0 => c ist klein geschrieben
0 => c ist kein Kleinbuchstabe
Beschreibung: Die Funktion islower prüft, ob das angegebene Zeichen c klein geschrieben ist oder nicht.
Ein Kleinbuchstabe ist derjenige, der einen der folgenden Werte hat: 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.
Beispiel:
#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; }
Ausgabe:
Funktionsprototyp: int sprint (int c)
Parameter: c => Zeichen, das mit der Funktion isprint überprüft werden soll.
Rückgabewert:
non-zer0 => c ist druckbar
0 => c ist nicht druckbar
Beschreibung: Die Funktion isprint prüft, ob das angegebene Zeichen druckbar ist. Ein druckbares Zeichen ist dasjenige, das eine Druckposition im Display einnimmt.
Beispiel:
#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; }
Ausgabe:
Ispunct
Funktionsprototyp: int ispunct (int c)
Parameter: c => Zeichen, das mit der Funktion ispunct überprüft werden soll.
Rückgabewert:
non-zer0 => c ist ein Interpunktionszeichen
0 => c ist kein Interpunktionszeichen
Beschreibung: Diese Funktion prüft, ob das angegebene Zeichen ein Interpunktionszeichen ist. Ein Zeichen, das ein grafisches Zeichen (aus isgraph) und kein alphanumerisches Zeichen (aus isalnum) ist, wird als Interpunktionszeichen bezeichnet.
Beispiel:
#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; }
Ausgabe:
Isspace
Funktionsprototyp: int isspace (int c)
Parameter: c => Zeichen, das mit der isspace-Funktion überprüft werden soll.
Rückgabewert:
non-zer0 => c ist ein Leerraum
0 => c ist kein Leerraum
Beschreibung: Diese Funktion prüft, ob das angegebene Zeichen ein Leerzeichen ist. Für das Gebietsschema 'C' sind Leerzeichen eine der folgenden.
Beispiel:
#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; }
Ausgabe:
Isupper
Funktionsprototyp: int isupper (int c)
Parameter: c => Zeichen, das mit der Funktion isupper überprüft werden soll.
Rückgabewert:
non-zer0 => c ist in Großbuchstaben
0 => c ist kein Großbuchstabe
Beschreibung: Die Funktion islower prüft, ob das angegebene Zeichen c in Großbuchstaben geschrieben ist oder nicht.
Ein Großbuchstabe hat einen der folgenden Werte: 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.
Beispiel:
#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; }
Ausgabe:
Isxdigit
Funktionsprototyp: int isxdigit (int c)
Parameter: c => Zeichen, das mit der Funktion isxdigit überprüft werden soll.
Rückgabewert:
non-zer0 => c ist hexadezimal
0 => c ist keine Hexadezimalzahl
Beschreibung: Diese Funktion prüft, ob das angegebene Zeichen eine hexadezimale Ziffer ist. Gültige hexadezimale Ziffern sind 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.
Beispiel:
#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; }
Ausgabe:
zu senken
Funktionsprototyp: int tolower (int c)
Parameter: c => Zeichen, das in Kleinbuchstaben umgewandelt werden soll.
Rückgabewert:
gibt das untere Äquivalent von c zurück, ansonsten unverändert.
Der Rückgabewert ist int und kann implizit in char umgewandelt werden.
Beschreibung: Dies konvertiert das angegebene Zeichen c in sein Kleinbuchstabenäquivalent. Wenn die Konvertierung für ein bestimmtes Zeichen nicht möglich ist, wird der unveränderte Wert (c) zurückgegeben.
Beispiel:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Ausgabe:
STH in Kleinbuchstaben umgewandelt: etw
toupper
Funktionsprototyp: int toupper (int c)
Parameter: c => Zeichen, das in Großbuchstaben umgewandelt werden soll
Rückgabewert:
gibt das obere Äquivalent von c zurück, ansonsten unverändert.
Website, auf der Sie YouTube-Videos herunterladen können
Der Rückgabewert ist int und kann implizit in char umgewandelt werden.
Beschreibung: Dies konvertiert das angegebene Zeichen c in sein Großbuchstabenäquivalent. Wenn für ein bestimmtes Zeichen keine Konvertierung möglich ist, wird der unveränderte Wert (c) zurückgegeben.
Beispiel:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Ausgabe:
In Kleinbuchstaben konvertierte Tutorials: TUTORIALS
Fazit
Damit ist unser Tutorial zu Zeichenfunktionen in C ++ beendet.
In diesem Tutorial haben wir verschiedene Funktionen gesehen, die ein einzelnes Zeichen annehmen und diese dann entweder klassifizieren oder konvertieren. In unseren nachfolgenden Tutorials werden wir String und ihre Funktionen und Klassen in Bezug auf C ++ diskutieren.
=> Entdecken Sie hier die einfache C ++ - Schulungsserie.
Literatur-Empfehlungen