Teil 12 : Bibliotheken - Stringverarbeitung II |
Wenn man Zeichen vergleichen oder umwandeln möchte, ist es auf
die dauer ziehmlich ermüdend immer Vergleiche zu benutzen oder alles
von Hand zu programmieren. Und was macht man, wenn man Funktionen des öfteren
benutzt ? Man erzeugt eine Library (Bibliothek) mit den Funktionen.
<ctype.h> |
Bei den folgenden Befehlen muß die Headerdatei <ctype.h>
durch
ein
#include <ctype.h> |
eingebunden werden! In den Beispielen gelten folgende Variablenvereinbarungen:
char c;
char d; int n; |
Bitte daran denken, wenn sie Probleme mit char-Variablen haben, kann
das in seltenen Fällen an ihrem System liegen. Ersetzen sie dann bitte
char
durch
unsigned
char. Wie immer bitte daran denken, das hier nur die wichtigsten Teile
der Programme abgebildet sind, die das Wesentliche darstellen! Um vollständig
laufende Programme zu erstellen sind die Beispiele zu ergänzen.
int n = isalpha ( char c ) |
Es wird überprüft, ob c ein Buchstabe ist. Der Rückgabewert
an n ist ungleich 0 , also true, wenn c ein
Buchstabe ist. Ansonsten ist er ungleich 0 , also
false.
#include <ctype.h> void main (void) {
if ( isalpha(c) ) printf ( "\n%c ist ein Buchstabe\n",c) ; |
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
int n = isalnum ( char c ) |
Es wird überprüft, ob c ein alphanumerisches Zeichen
ist, das heißt ob c ein Buchstabe oder eine Zahl ist. Der
Rückgabewert an n ist ungleich 0 , also true,
wenn c ein Buchstabe oder eine Zahl ist. Ansonsten ist er ungleich0
, also false.
#include <ctype.h> void main (void) {
if ( isalnum(c) ) printf ( "\n%c ist ein Buchstabe oder eine Zahl\n",c) ; |
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
int n = isupper ( char c ) |
Es wird überprüft, ob c ein Großbuchstabe ist.
Der Rückgabewert an n ist ungleich 0 , also true,
wenn c ein Großbuchstabe ist. Ansonsten ist er ungleich 0
, also false. Ein Beispielprogramm ist unter islower(..)
zu finden.
int n = islower ( char c ) |
Es wird überprüft, ob c ein Kleinbuchstabe ist. Der
Rückgabewert an n ist ungleich 0 , also true,
wenn c ein Kleinbuchstabe ist. Ansonsten ist er ungleich 0
, also false. Im Beispiel verwenden wir die beiden letzten Funktionen.
Man kann natürlich zum ausprobieren alle möglichen Buchstaben
einsetzen.
#include <ctype.h> void main (void)
if ( isupper(c) ) printf ( "\n%c ist ein Großbuchstabe\n",c);
|
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
int n = isdigit ( char c ) |
Es wird überprüft, ob c eine Ziffer ist. Der Rückgabewert
an n ist ungleich 0 , also true, wenn c eine
Ziffer. Ansonsten ist er ungleich 0 , also false.
#include <ctype.h> void main (void)
if (! isdigit(c) ) printf ( "\n%c ist keine Ziffer\n",c); |
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
Wer sich wundert: das ! in der Abfrage beachten :)
int n = isspace ( char c ) |
Es wird überprüft, ob c ein Leerzeichen ist. Der Rückgabewert
an n ist ungleich 0 , also true, wenn c ein
Leerzeichen ist. Ansonsten ist er ungleich 0 , also false.
#include <ctype.h> void main (void)
if ( isspace(c) ) printf ( "\n%c ist ein Leerzeichen\n",c); |
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm
sehen.
<keine Ausgabe> |
char d = toupper ( char c ) |
c wird in einen Großbuchstaben umgewandelt und in d
geschrieben.
#include <ctype.h> void main (void)
char d; d = toupper (c);
|
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
char d = tolower ( char c ) |
c wird in einen Kleinbuchstaben umgewandelt und in d geschrieben.
#include <ctype.h> void main (void)
char d; d = tolower (c);
|
Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
...das Obligatorische |
Autor: Sebastian Cyris PCDBascht@aol.com
Dieser C-Kurs dient nur zu Lehrzwecken! Eine Vervielfältigung ist ohne vorherige Absprache mit dem Autor verboten! Die verwendete Software unterliegt der GPL und unterliegt der Software beiliegenden Bestimmungen zu deren Nutzung! Jede weitere Lizenzbestimmung die der benutzten Software beiliegt, ist zu beachten!