Unterabschnitte


19.3 Headerdateien und Überblick über die Funktionen

Folgende Headerdateien sind standardisiert:

19.3.1 assert.h

Fehlersuche

Funktionen/funktionsähnliche Makros:
Name Zweck
assert() Kontrolle von Invarianten in der Debugphase (siehe auch Fehlersuche mit Standard-C)

Konstanten: -

Datentypen: -

19.3.2 ctype.h

Zeichenklassifizierung und -umwandlung.

Funktionen/funktionsähnliche Makros:
Name Zweck
isalnum() ist das gegebene Zeichen alphanumerisch?
isalpha() ist das gegebene Zeichen ein Buchstabe?
iscntrl() ist das gegebene Zeichen ein Steuerzeichen?
isdigit() ist das gegebene Zeichen eine Ziffer?
isgraph() ist das gegebene Zeichen ein graphisches Zeichen?
islower() ist das gegebene Zeichen ein Kleinbuchstabe?
isprint() ist das gegebene Zeichen druckbar?
ispunct() ist das gegebene Zeichen ein Satzzeichen?
isspace() ist das gegebene Zeichen white space?
isupper() ist das gegebene Zeichen ein Großbuchstabe?
isxdigit() ist das gegebene Zeichen eine hexadezimale Ziffer?
tolower() konvertiert ein Zeichen zu einem Kleinbuchstaben
toupper() konvertiert ein Zeichen zu einem Großbuchstaben

Konstanten: -

Datentypen: -

19.3.3 errno.h

globale Variable errno und Definitionen zur Fehlerbehandlung, siehe Fehlerbehandlung.

Funktionen/funktionsähnliche Makros: -

Konstanten: -

Datentypen: -

19.3.4 float.h

Definitionen für Wertebereiche der Typen float, double und long double.

Siehe Gebrochene Zahlen.

Funktionen/funktionsähnliche Makros: -

Konstanten:

Datentypen: -

19.3.5 limits.h

Definitionen für Wertebereiche der ganzzahligen Datentypen.

Siehe Ganzzahlige Datentypen.

Funktionen/funktionsähnliche Makros: -

Konstanten:

Datentypen: -

19.3.6 locale.h

Definitionen zur Einstellung landes- und sprachspezifischer Eigenschaften der Bibliotheksfunktionen. Die meisten Implementationen unterstützen keine weiteren Einstellungen, deshalb meist bedeutungslos.

Funktionen/funktionsähnliche Makros: -

Konstanten: -

Datentypen: -

19.3.7 math.h

Funktionsdeklarationen der mathematischen Funktionen.

Definition der Makros EDOM, ERANGE und HUGE_VAL.

Funktionen/funktionsähnliche Makros:
Name Zweck
acos() Arkuskosinus
asin() Arkussinus
atan() Arkustangens (2 Quadranten)
atan2() Arkustangens (4 Quadranten)
ceil() Gleitkommazahl aufrunden
cos() Kosinus
cosh() Kosinus hyperbolicus
exp() Exponentialfunktion ( \bgroup\color{Red}$e^x$\egroup)
fabs() Absolutwert einer Gleitkommazahl
floor() Abrunden
fmod() Divisionsrest bei Gleitkommazahlen
frexp() Zerlegen einer double in Mantisse und Binärexponent
ldexp() Multiplikation einer double mit Zweierpotenz
log() natürlicher Logarithmus (zur Basis \bgroup\color{Red}$e$\egroup)
log10() dekadischer Logarithmus (zur Basis 10)
modf() Zerlegen einer double in Vor- und Nachkommateil
pow() Potenzieren (siehe auch Potenzen mit ganzzahligen Exponenten)
sin() Sinus
sinh() Sinus hyperbolicus
sqrt() Quadratwurzel
tan() Tangens
tanh() Tangens hyperbolicus

Konstanten:

Datentypen: -

19.3.8 setjmp.h

Funktionsdeklarationen zu setjmp() und longjmp() zum Sprung über Funktionsgrenzen hinweg. Siehe longjmp().

Funktionen/funktionsähnliche Makros:
Name Zweck
longjmp() Sprung zu einem mit setjmp() eingefrorenen Stand
setjmp() Sichern eines Programmzustands für longjmp()

Konstanten: -

Datentypen:

19.3.9 signal.h

Handhabung von Signalen.

Funktionen/funktionsähnliche Makros:
Name Zweck
raise() Herbeiführen eines Signals für den aktuellen Prozeß
signal() Einstellen der Reaktion auf ein Signal

Konstanten:

Datentypen: -

19.3.10 stdarg.h

Verwendung variabler Parameterlisten, siehe va_start(), va_arg(), va_end().

Mit den in stdarg.h definierten Makros ist es innerhalb einer Funktion mit variabler Argumentliste möglich, die vom Aufrufer übergebenen Parameter zu erreichen.

Funktionen/funktionsähnliche Makros:
Name Zweck
\tt va_start() Initialisierung zum Holen der Parameter
\tt va_arg() je Aufruf einen Parameter holen
\tt va_end() Beenden

Konstanten: -

Datentypen:

.

19.3.11 stddef.h

Allgemein benötigte Definitionen

Funktionen/funktionsähnliche Makros: -

Konstanten:

Datentypen:

19.3.12 stdio.h

Funktionen und Makros zur gepufferten Ein- und Ausgabe

Funktionen/funktionsähnliche Makros:
Name Zweck
clearerr()
fclose() Schließen einer Datei
feof() Prüfen auf Dateiende
ferror() Prüfen auf Fehlerzustand
fflush() Zurückschreiben gepufferter Daten
fgetc() Lesen eines Zeichens
fgetpos() Abfragen der Dateiposition zum Setzen mit fsetpos()
fgets() Lesen eine Zeile
fopen() Öffnen einer Datei
fprintf() formatierte Ausgabe
fputc() Schreiben eines Zeichens
fputs() Schreiben eines Strings
fread() Lesen eines Blocks
freopen() nachträgliches Ändern von Attributen
fscanf() formatiertes Lesen
fseek() Positionieren (relativ oder absolut)
fsetpos() Positionieren auf eine von fgetpos()-Position
ftell() Abfragen der Dateiposition zum Setzen mit fseek()
fwrite() Schreiben eines Blocks
getc() Lesen eines Zeichens
getchar() Lesen eines Zeichens (von stdin)
gets() Lesen eine Zeile (von stdin)
perror() Ausgabe einer Fehlermeldung
printf() formatierte Ausgabe (nach stdout)
putc() Ausgabe eines Zeichens
putchar() Ausgabe eines Zeichens (nach stdout)
puts() Schreiben eines Strings (nach stdout)
remove() Löschen einer Datei
rename() Umbenennen einer Datei
rewind() An den Anfang spulen
scanf() formatiertes Lesen (von stdin)
setbuf() Vorgabe eines Puffers
setvbuf() feinere Einstellung der Pufferung
sprintf() formatierte Ausgabe in ein char-Feld
sscanf() formatiertes Lesen aus einem String
tmpfile() Öffnen einer temporären Datei
tmpnam() Bilden eines eindeutigen Namens für temporäre Datei
ungetc() Zurückstellen eines gelesenen Zeichens
vfprintf() Ausgabe einer variablen Parameterliste
vsprintf() Ausgabe einer variablen Parameterliste in char-Feld
vprintf() Ausgabe einer variablen Parameterliste stdout

Datentypen:

Konstanten:

19.3.13 stdlib.h

Deklarationen aller Funktionen, die nicht zu anderen Funktionsgruppen passen (wie etwa malloc(), qsort(), ...).

Funktionen/funktionsähnliche Makros:
Name Zweck
abort() Programmabbruch
abs() Absolutwert einer ganzen Zahl
atexit() Vormerken einer bei Programmende auszuführenden Funktion
atof() Gleitkommazahl aus String lesen (veraltet)
atoi() int aus String lesen (veraltet)
atol() long aus String lesen (veraltet)
bsearch() binäre Suche in sortiertem Feld beliebiger Elemente; freie Definition des Sortierkriteriums
calloc() Speicher allokieren und zu 0 setzen
div() Quotient und Divisionsrest int/int
exit() Programm beenden
free() allokierten Speicher freigeben
getenv() Umgebungsvariable abfragen
labs() Absolutbetrag einer long
ldiv() Quotient und Divisionsrest long/long
malloc() Speicher allokieren
qsort() Sortieren eines Felds beliebiger Elemente; freie Definition des Sortierkriteriums
rand() Berechnen einer (Pseudo-)Zufallszahl
realloc() Speicher allokieren, freigegeben, allokierte Größe ändern
srand() Startwert für rand() setzen
strtod() Gleitkommazahl aus String lesen
strtol() vorzeichenbehaftete ganze Zahl aus String lesen
strtoul() vorzeichenlose ganze Zahl aus String lesen
system() Aufruf eines Kommandointerpreters oder eines anderen Programms

Konstanten:

Datentypen: -

19.3.14 string.h

Handhabung von Strings und Speicherbereichen.

Funktionen, deren Namen mit mem...beginnen, werden für Speicherbereiche fester Länge verwendet.

Funktionen, die mit str... beginnen, arbeiten mit normalen zero terminated strings (nullterminierten Zeichenketten); siehe Strings. Funktionen mit strn...am Namensanfang ebenso, aber mit maximaler Länge.

string.h heißt auf älteren Unix-Systemen manchmal strings.h.

Funktionen/funktionsähnliche Makros:
Name Zweck
memchr() Zeichen in Speicher suchen
memcmp() zwei Speicherbereiche vergleichen
memcpy() Speicherbereich kopieren
memmove() Speicherbereich kopieren (ggf. mit Überlappung)
memset() Speicherbereich füllen
strcat() Strings aneinanderhängen
strchr() in String nach einem Zeichen suchen
strcmp() zwei Strings vergleichen
strcpy() String kopieren
strcspn() Stringanfang untersuchen (solange nicht gegebene Zeichen)
strerror() Fehlermeldung formatieren anhand errno-Wert
strlen() Stringlänge bestimmen
strncat() Strings aneinanderhängen
strncmp() zwei Strings vergleichen
strncpy() String kopieren
strpbrk() in String nach einem von mehreren Zeichen suchen
strrchr() in String (von hinten) nach einem Zeichen suchen
strspn() Stringanfang untersuchen (solange gegebene Zeichen)
strstr() In String nach String suchen
strtok() String in Token zerlegen

Konstanten: -

Datentypen: -

19.3.15 time.h

Datum und Uhrzeit, Rechenzeit

Zur Laufzeitmessung eines Programms gibt es die Funktion clock(), welche die Anzahl der ,,Schläge`` der rechnerinternen Uhr (seit Programmstart) liefert. Das Makro CLOCKS_PER_SEC gibt die Anzahl dieser Schläge pro Sekunde an und kann zum Umrechnen in Sekunden benutzt werden. Der Ergebnistyp von clock() heißt clock_t und stellt in der Regel eine ganze Zahl dar, die auf Sekunden umgerechnet werden kann.

Beispiel siehe clock().

Funktionen/funktionsähnliche Makros:
Name Zweck
asctime() liefert Stringdarstellung einer struct tm
clock() liefert Anzahl Timerticks (verbrauchte CPU-Zeit) seit Programmstart
ctime() liefert Stringdarstellung einer time_t
difftime() Differenz zweier time_t
gmtime() berechnet Greenwich Mean Time als struct tm aus der Ortszeit in time_t
localtime() berechnet Ortszeit als struct tm aus der Ortszeit in time_t
mktime() berechnet aus Ortszeit als struct tm die gepackte Form time_t
strftime() formatiertes Schreiben einer Zeit (struct tm) in String
time() aktuelle Systemzeit als time_t

Konstanten: -

Datentypen: Datum und Uhrzeit werden in zwei verschiedenen Formen dargestellt.

Nicht standardisiert, aber relativ weit verbreitet sind die Headerdateien conio.h (ungepufferte Ein-/Ausgabe mit Terminal), io.h und fcntl.h (ungepufferte Dateien), process.h (Starten weiterer Prozesse) sowie direct.h (Verzeichnisverwaltung).

AnyWare@Wachtler.de