C
In stdlib.h sind diverse Funktionen definiert, die sich nicht in
die anderen Bibliotheken einordnen lassen.
- double atof( const char *str );
- Diese Funktion wandelt einen String in einen double um.
- int atoi( const char *str );
- Diese Funktion wandelt einen String in einen int um.
- long atol( const char *str );
- Diese Funktion wandelt einen String in einen long um.
- void *malloc( size_t size );
- Diese Funktion liefert einen Zeiger auf einen Speicherblock der
Größe size. Wenn der Speicher nicht mehr benötigt
wird, muß er mit free wieder freigegeben werden.
- void *calloc( size_t elt_count, size_t elt_size );
- Diese Funktion liefert einen Speicherblock für elt_count
Elemente der Größe elt_size. Der Speicher wird von calloc
mit 0 initialisiert.
- void free( void *ptr );
- Diese Funktion gibt den Speicher, der mit malloc, calloc oder
realloc angefordert wurde, wieder an die Speicherverwaltung
zurück.
- void *realloc( void *ptr, size_t size );
- Diese Funktion ändert die Größe des
Speicherbereichs ptr auf size. Der bishereige Inhalt von ptr bleibt
erhalten.
- int abs( int x );
- Diese Funktion liefert den Absolutbetrag von x als int, schneidet
also das Vorzeichen ab.
- long labs( long x );
- Diese Funktion liefert den Absolutbetrag von x als int.
- div_t div( int n, int d );
- Diese Funktion teilt n durch d und liefert das Ergebnis in der
Struktur vom Typ div_t, die das ganzzahlige Ergebnis und den Rest
beinhaltet.
- ldiv_t ldiv( long n, long d );
- Diese Funktion arbeitet wie div, aber mit long statt int Werten.
- int rand( void );
- Diese Funktion liefert eine ganzzahlige Pseudo-Zufallszahl
zwischen 0 und RAND_MAX.
- void srand( unsigned int seed );
- Diese Funktion setzt seed als neuen Startwert für eine neue
Zufallszahlenfolge.
- double strtod( const char *s, char **endptr );
- Diese Funktion wandelt einen String in einen double um. Für
endptr kann die Adresse eines Pointers übergeben werden. Dieser
Pointer wird dann auf das erste Zeichen aus s gesetzt, das nicht mehr
für die Konvertierung benutzt wird. Wird für endptr NULL
übergeben, ist die Funktion äquivalent zu atod.
- long strtol( const char *s, char **endptr, int base );
- Diese Funktion arbeitet wie strtod, liefert aber einen long und
in base wird die Basis des verwendeten Zahlensystems übergeben.
Hat base den Wert 0, wird versucht, die Umwandlung für die Basis
8, 10 oder 16 durchzuführen. In diesem Fall zeigt eine
führende Null das Oktalsystem und ein führendes 0x oder 0X
das Hexadezimalsystem an.
- unsigned long strtoul( const char *s, char **endptr, int base );
- Diese Funktion arbeitet wie strtoul, liefert aber einen unsigned
long.
- int system( const char *command );
- Diese Funktion übergibt den String command an das System zur
Ausführung. Sowohl der Aufbau des Kommandos als auch das Ergebnis
sind von dem verwendeten System und dem Kommandointerpreter
abhängig und damit nicht prtabel!
- void exit( int status );
- Diese Funktion beendet das Programm normal mit dem Returnwert
status. Es werden auch die mit atexit gesetzten Funktionen aufgerufen.
Um den Programmlauf übersichtlich zu halten, sollte ein Programm
allerdings möglichst mit dem Ende von main terminieren.
- void abort( void );
- Diese Funktion sorgt für eine annormale Beendigung des
Programms.
- int atexit( void (*func)( void ) );
- Diese Funktion setzt eine Funktion, die bei Beendigung des
Programms aufgerufen wird. Konnte die Funktion nicht gesetzt werden,
wird ein Wert ungleich Null zurück geliefert. Wenn ein Programm
immer mit dem Ende von main terminiert, kann auch dort eine solche
"Aufräumfunktion" aufgerufen werden.
- char *getenv( const char *name );
- Diese Funktion liefert den Wert der Umgebungs- bzw.
Environmentvariable name. Eine etwas bekanntere Umgebungsvariable
dürfte PATH sein.
- void *bsearch( const void *key, const void *base, size_t nmemb, size_t size, int (*compar)() );
- Diese Funktion sucht in dem Feld base nach dem Eintrag key. Der
Parameter nmemb gibt an, wieviel Einträge das Feld enthält
und size die Größe von jedem Element. Das Feld muß
aufsteigend sortiert sein und der Vergleich wird mit der Funktion
compar durchgeführt. Diese Funktion bekommt zwei Zeiger auf
Elemente und muß einen Wert kleiner 0 liefern, wenn der erste
Parameter kleiner ist, 0 für Gleichheit und größer 0,
wenn der zweite Parameter kleiner ist.
- void qsort( void *base, size_t nmemb, size_t size, int (*compar)() );
- Diese Funktion sortiert das Feld base in aufsteigender
Reihenfolge. Das Feld enthält nmemb Elemnte der Größe
size. Den Vergleich wird von der Funktion compar durchgeführt,
für die das gleiche gilt, wie unter bsearch beschrieben.
|
English version not yet available.
|
Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home -
Mail an den Webmaster -
Impressum