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.
 

char c = 'd'; 

if ( isalpha(c) ) printf ( "\n%c ist ein Buchstabe\n",c) ;

Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
 

d ist ein Buchstabe






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 ungleich 0 , also false.
 

char c = '3'; 

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.
 

3 ist ein Buchstabe oder eine Zahl






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.




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
 

char c = 'd'; 

if ( isupper(c) ) printf ( "\n%c ist ein Großbuchstabe\n",c);
if ( islower(c) ) printf ( "\n%c ist ein Kleinbuchstabe\n",c);

Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
 

d ist ein Kleinbuchstabe






 
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.
 

char c = 'd'; 

if (! isdigit(c) ) printf ( "\n%c ist keine Ziffer\n",c);

Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
 

d ist keine Ziffer

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.
 

char c = 'f'; 

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.
 

char c = 'd'; 
char d; 

d = toupper (c); 

printf ( "\n%c wird umgwandelt in %c\n",c,d );

Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
 

d wird umgewandelt in D




char d = tolower ( char c )

c wird in einen Kleinbuchstaben umgewandelt und in d geschrieben.
 

char c = 'D'; 
char d; 

d = tolower (c); 

printf ( "\n%c wird umgwandelt in %c\n",c,d );

Nach dem starten des Programms sollten sie folgendes auf dem Bildschirm sehen.
 

D wird umgewandelt in d






...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!