[Inhalt][0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17]
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 <stdio.h>
#include <ctype.h>
void main (void)
{
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.

Screenshot des ausgeführten Programms


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 <stdio.h>
#include <ctype.h>
void main (void)
{
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.

Screenshot des ausgeführten Programms


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 <stdio.h>
#include <ctype.h>

void main (void)
{

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.

Screenshot des ausgeführten Programms


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 <stdio.h>
#include <ctype.h>

void main (void)
{

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.

Screenshot des ausgeführten Programms

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 <stdio.h>
#include <ctype.h>

void main (void)
{

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.
 

#include <stdio.h>
#include <ctype.h>

void main (void)
{

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.

Screenshot des ausgeführten Programms


char d = tolower ( char c )

c wird in einen Kleinbuchstaben umgewandelt und in d geschrieben.
 

#include <stdio.h>
#include <ctype.h>

void main (void)
{

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.

Screenshot des ausgeführten Programms


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