abort

#include <stdlib.h>

Prototyp:

void abort(void);

Returnwert:

keiner

Beschreibung:

Gibt die Meldung Abnormal program termination an Fehlerausgabe stderr und bricht den laufenden Prozess ab (Normaler Programmabbruch siehe exit).

Beispiel:

if (fp= fopen("\\autoexec.bat","r") == NULL)

printf("Datei autoexec.bat nicht im Rootverzeichnis gefunden\n");

abort();

 

abs

#include <stdlib.h>

Prototyp:

int abs(int x);

Returnwert:

Absolutbetrag von x

Beschreibung:

Berechnet den Absolutwert des int-Wertes x (siehe auch labs und fabs).

Beispiel:

printf("abs(-8) = %d\n",abs(-8));

/* Ausgabe: abs(-8) = 8 */

 

acos

#include <math.h>

Prototyp:

double acos(double x);

Returnwert:

Gibt den Arcus Cosinus von x im Bogenmaß zurück (zwischen 0 und Pi); Fehlerfall: 0, und Fehlermeldung auf stderr, Fehlervariable errno = EDOM (domain error)

Beschreibung:

Berechnet den Arcus Cosinus des Argumentes x (-1 <= x <= +1)

Beispiel:

printf("acos(-1.0) = %6.4f\n",acos(-1.0));

printf("acos( 0.0) = %6.4f\n",acos( 0.0));

printf("acos( 1.0) = %6.4f\n",acos( 1.0));

/* Ausgabe: acos(-1.0) = 3.1416

acos( 0.0) = 1.5708

acos( 1.0) = 0.0000 */

 

asctime

#include <time.h>

Prototyp:

char *asctime(struct tm

*systime);

Returnwert:

Zeiger auf String mit Datum und Uhrzeit (26 Bytes lang)

Beschreibung:

konvertiert Datum und Uhrzeit in einen String. Datum und Uhrzeit sind in der durch systime addressierten Struktur von Type tm abgelegt (wurde zuvor mit localtime oder gmtime angelegt und mit Werten gefüllt)

Beispiel:

struct tm *systime;

time_t sec;

time(&sec);

systime = localtime (&sec);

printf("Datum und Uhrzeit: %s\n",asctime(systime));

/* Ausgabe: Datum und Uhrzeit: Mon Oct 28 9:00:48 1996 */

 

asin

#include <math.h>

Prototyp:

double asin(double x);

Returnwert:

Gibt den Arcus Sinus von x im Bogenmaß zurück (Wert zwischen -Pi/2 und +Pi/2); Fehlerfall: 0, und Fehlermeldung auf stderr, Fehlervariable errno = EDOM

Beschreibung:

Berechnet den Arcus Sinus des Argumentes x (-1 <= x <= +1).

Beispiel:

printf("asin(-1.0) = %7.4f",asin(-1.0));

/* Ausgabe: asin(-1.0) = -1.5708 */

 

assert

#include <assert.h>

Prototyp:

void assert(int expression);

Returnwert:

keiner

Beschreibung:

Der Makro überprüft den Ausdruck expression. Ist das Ergebnis 0 (Fehler) so wird die Meldung:

Assertion failed: expression, file: name, line: number

ausgegeben. Danach erfolgt Programmabbruch. Makro um logische Fehler im Programm zu finden.

Beispiel:

double x= -1.0, y, z;

y= sin(x) - cos(x);

assert(y < 0);

z= log(y); /* log(y) nur für positive y definiert */

/* Ausgabe: Assertion failed: y < 0, file ... */

 

atan

#include <math.h>;

Prototyp:

double atan(double x);

Returnwert:

Gibt den Arcus Tangens von x im Bogenmaß zurück (zwischen -Pi/2 und +Pi/2)

Beschreibung:

Berechnet den Arcus Tangens des Argumentes x; Umkehrfunktion des Tangens.

Beispiel:

printf("atan(-1.0) = %7.4f\n", atan(-1.0));

/* Ausgabe: atan(-1.0) = -0.7854 */

 

atan2

#include <math.h>

Prototyp:

double atan2(double y, double x);

Returnwert:

Gibt einen Wert zwischen -Pi/2 und +Pi/2 zurück. Sind die Argumente x und y beide 0, so erhält die Fehlervariable errno den Wert EDOM und eine Fehlermeldung wird auf stderr ausgegeben. Der Returnwert ist in diesem Fall 0.

Beschreibung:

Berechnet den Arcus Tangens von y/x.

Beispiel:

double x= 3, y= 3; /* y/x= 1 */

printf("atan2(y,x) = %10f\n",atan2(y,x));

/* Ausgabe: atan2(y,x) = 0.785398 */

 

atexit

#include <stdlib.h>

Prototyp:

int atexit(void(*func)(void));

Returnwert:

Im Fehlerfall ein Wert ungleich 0, sonst 0.

Beschreibung:

Der Funktion atexit wird ein Zeiger func auf eine Funktion vom Typ void übergeben, die am Ende des Programms aufgerufen werden soll. Durch folgende Aufrufe von atexit werden weitere Zeiger auf eine Funktion registriert, die nach dem 'last in, first out' - Prinzip verwaltet werden.

Beispiel:

main()

void func1(void), func2(void);

atexit(func1);

atexit(func2);

printf("\nEnde des Programms.\n");

void func1(void) { printf("Das ist Funktion func1().\n");}

void func2(void) { printf("Das ist Funktion func2().\n");}

/* Ausgabe: Ende des Programms.

Das ist Funktion func2().

Das ist Funktion func1(). */

 

atof

#include <stdlib.h>

Prototyp:

double atof(const char *s);

Returnwert:

Gibt den double-Wert der in der Zeichenkette gespeicherten Zahl zurück. Bei nicht auswertbarer Zeichenkette wird 0 zurückgegeben.

Beschreibung:

Wandelt eine als Zeichenkette gespeicherte Zahl in einen Wert vom Typ double um. Beim ersten Zeichen, das nicht als Teil einer Gleitpunktzahl interpretiert werden kann, wird die Umwandlung abgebrochen. Zwischenraumzeichen werden ignoriert.

Beispiel:

char *string = "-12.356e+2";

double z;

z= atof(string);

printf("z = %.2f\n",z);

/* Ausgabe: z = -1235.60 */

 

atoi

#include <stdlib.h>

Prototyp:

int atoi(const *s);

Returnwert:

Gibt den int-Wert der in der Zeichenkette gespeicherten Zahl zurück. Falls Auswertung nicht möglich, wird 0 zurückgegeben.

Beschreibung:

Wandelt eine als Zeichenkette gespeicherte dezimale Ganzzahl in einen int-Wert um. Beim ersten nicht interpretierbaren Zeichen wird die Umwandlung abgebrochen. Ein Dezimalpunkt oder Exponent wird nicht als Teil der Zahl angesehen.

Beispiel:

char *s= "+123 Biere";

printf("atoi(s) = %d\n",atoi(s));

/* Ausgabe: atoi(s) = 123 */

 

atol

#include <stdlib.h>

Prototyp:

long atol(const char *s);

Returnwert:

Gibt den long-Wert der in der Zeichenkette gespeicherten Zahl zurück. Falls Auswertung nicht möglich, wird 0 zurückgegeben.

Beschreibung:

Wandelt eine als Zeichenkette gespeicherte dezimale Ganzzahl in einen long-Wert um. Beim ersten nicht interpretierbaren Zeichen wird die Umwandlung abgebrochen. Ein Dezimalpunkt oder Exponent wird nicht als Teil der Zahl angesehen.

Beispiel:

char *s= "-12345678.-Gehalt";

printf("atol(s) = %ld\n",atol(s));

/* Ausgabe: atol(s) = -12345678 */

 

bsearch

#include <stdlib.h>

Prototyp:

void *bsearch (const void *key, const void *array, size_t n,

size_t size, int (*compare)());

Returnwert:

Gibt die Adresse des ersten Vektorelementes zurück, das mit dem gesuchten Wert übereinstimmt. Gibt es ein solches Vektorelement nicht, so wird der NULL-Zeiger zurückgegeben.

Beschreibung:

Verwendet das binäre Suchverfahren, um in einem sortierten Vektor array nach dem durch key adressierten Wert zu suchen. Der Vektor enthält n Vektorelemente der Größe size. Der Datentyp size_t ist in stdlib.h als unsigned int definiert. Das letzte Argument compare ist ein Zeiger auf eine Funktion, die den gesuchten Wert mit einem Vektorelement vergleicht.

Beispiel:

int scmp(char **s1, char **s2);

static char *farben[]={"rot","grün","blau","gelb","weiß"};

static char key[]= "pink";

if (bsearch(key,farben,5,sizeof(char*),scmp) == NULL)

printf("Farbe %s nicht gefunden\n",key);

...

int scmp(char **s1, char **s2) { return strcmp(*s1, *s2); }

 

calloc

#include <stdlib.h>

Prototyp:

void *calloc(size__t n, size__t size);

Rückgabewert:

Zeiger auf Anfangsadresse des zugeteilten Speicherbereiches

Beschreibung:

reserviert Platz im Hauptspeicher für einen Vektor mit n Elementen der Größe size. size__t ist in stdlib.h als unsigned int definiert. Jedes Element wird mit dem Wert 0 initialisiert. Wenn nicht genügend Speicherplatz vorhanden ist, wird ein NULL-Zeiger zurückgeliefert.

Beispiel:

if (calloc(5,sizeof(int)) == 0)

printf("Nicht genügend Speicher\n");

/* Speicherreservierung für 5 Elemente vom Typ int;

wenn nicht genügend Speicher vorhanden ist, wird dies angezeigt. */

 

ceil

#include <math.h>

Prototyp:

double ceil(double x);

Rückgabewert:

x aufgerundet

Beschreibung:

liefert kleinste ganze Zahl, die größer oder gleich x ist (Aufrundung).

Beispiel:

printf("ceil(2.3) = %4.1f\n", ceil(2.3));

/* Ausgabe: ceil(2.3) = 3.0 */

 

clearerr

#include <stdio.h>

Prototyp:

void clearerr(FILE *fp);

Rückgabewert:

keiner

Beschreibung:

löscht das Fehler-Flag und das Dateiende-Flag der mit fp verbundenen Datei.

Beispiel:

clearerr(fp); /* löscht Fehler- und Dateiende-Flag der fp-Datei. */

 

clock

#include <time.h>

Prototyp:

clock__t clock (void);

Rückgabewert:

Prozessorzeit in "Ticks" (systemabhängig)

Beschreibung:

bestimmt die Prozessorzeit, die das aufrufende Programm bis dahin verbraucht hat. clock_t ist in time.h als long definiert. Die Einheit für Prozessorzeit ist abhängig vom Compiler. Durch Division mit der in time.h definierten Konstanten CLK__TCK sollte das Ergebnis in Sekunden umgerechnet werden.

Beispiel:

z = clock(); /* weist z die Anzahl von "Ticks" zu,

die seit Programmstart vergangen sind */

 

cos

#include <math.h>

Prototyp:

double cos(double x);

Rückgabewert:

cos(x)

Beschreibung:

liefert den Cosinus von x (x im Bogenmaß). Ist der Argumentwert zu groß für ein signifikantes Ergebnis, so wird 0 zurückgegeben und errno erhält den Wert ERANGE.

Beispiel:

printf("cos(0.0) = %4.1f\n", cos(0.0));

/* Ausgabe: cos(0.0) = 1.0 */

 

cosh

#include <math.h>

Prototyp:

double cosh(double x);

Rückgabewert :

cosh(x)

Beschreibung:

liefert den Cosinus Hyperbolicus von x. Ist das Ergebnis zu groß, so wird HUGE__VAL zurückgegeben und errno erhält den Wert ERANGE.

Beispiel:

printf("cosh(-2.0) = %6.4f\n", cosh(-2.0));

/* Ausgabe: cosh(-2.0) = 3.7622 */

 

ctime

#include <time.h>

Prototyp:

char *ctime(const time__t *zeit);

Rückgabewert:

Anfangsadresse des Zeitstrings

Beschreibung:

konvertiert Datum und Uhrzeit in einen String. zeit ist die Anzahl der Sekunden seit dem 1.1.1970 00:00:00 Uhr (GMT). Der erzeugte String hat folgendes Format:

Wochentag Monat Monatstag Zeit (hh:mm:ss) Jahr (vierstellig)

time__t ist in time.h als long definiert.

Beispiel:

time__t sec;

time(&sec);

printf("Datum und Zeit: %s\n", ctime(&sec));

/* Ausgabe: Datum und Zeit: Mon Oct 28 09:15:48 1996 */

 

difftime

#include <time.h>

Prototyp:

double difftime(time__t time2,time__t time1);

Rückgabewert:

Differenz time2 - time1

Beschreibung:

berechnet die Differenz von time2 und time1 als double-Wert in Sekunden time__t ist in time.h als long definiert ein solcher Wert wird von time() geliefert.

Beispiel:

printf("Arbeitszeit: %.0f Sekunden\n", difftime(stoptime,starttime));

/* Ausgabe der Differenz zwischen starttime und stoptime */

 

div

#include <stdlib.h>

Protoyp:

div__t div(int x,int y);

Rückgabewert:

Struktur vom Typ div__t

Beschreibung:

dividiert x durch y und legt Ergebnis und Rest in einer Struktur vom Typ div__t ab. div__t ist in stdlib.h definiert.

Beispiel:

div__t res;

res = div(10,3);

printf("10/3 = %d, Rest %d\n",res.quot,res.rem);

/* Ausgabe: 10/3 = 3 Rest 1 */

 

exit

#include <stdlib.h>

Prototyp:

void exit(int status);

Rückgabewert:

keiner

Beschreibung:

beendet ein Programm. Dateipuffer werden übertragen und Dateien werden geschlossen. status stellt den Exit-Code dar.

Beispiel:

exit(1); /* beendet das Programm und liefert den

Exit-Code 1 zurück */

 

exp

#include <math.h>

Prototyp:

double exp(double x);

Rückgabewert:

ex

Beschreibung:

berechnet den Wert der Exponentialfunktion für x.

Beispiel:

printf("exp(-3.0) = %7.4f\n", exp(-3.0));

/* Ausgabe: exp(-3.0) = 0.0498 */

 

fabs

#include <math.h>

Prototyp:

double fabs(double x);

Rückgabewert: |x|

Beschreibung:

liefert den Absolutwert einer Gleitkommazahl

Beispiel:

printf("fabs(-3.8) = %3.1f\n", fabs(-3.8));

/* Ausgabe: fabs(-3.8) = 3.8 */

 

fclose

#include <stdio.h>

Prototyp:

int fclose(FILE *fp);

Rückgabewert:

Datei geschlossen: 0; ungültiger File-Pointer: EOF

Beschreibung:

schließt die mit fp verbundene Datei überträgt den Inhalt des Dateipuffers. Der Speicherbereich des E/A-Puffers wird wieder freigegeben.

Beispiel:

if (fclose(fp) == 0)

printf("Datei wurde geschlossen\n");

 

feof

#include <stdio.h>

Prototyp:

int feof(FILE *fp);

Rückgabewert:

Dateiende-Flag gesetzt: Wert ungleich 0; andernfalls: 0

Beschreibung:

Der Makro prüft, ob das Dateiende erreicht ist

Beispiel:

while (!feof(fp))...

/* führt nachfolgenden Befehl solange aus,

bis das Dateiende erreicht ist */

 

ferror

#include <stdio.h>

Prototyp:

int ferror(FILE *fp);

Rückgabewert:

Fehler-Flag gesetzt: Wert ungleich 0; andernfalls: 0

Beschreibung:

Der Makro überprüft, ob ein Fehler beim Zugriff auf dieDatei auftrat

Beispiel:

if (ferror(fp)) printf("Fehler beim Zugriff\n");

 

fflush

#include <stdio.h>

Prototyp:

int fflush(FILE *fp);

Rückgabewert:

Fehlerfall: EOF; andernfalls: 0

Beschreibung:

überträgt den Inhalt des Dateipuffers:

Schreibmodus:

Dateipuffer wird geschrieben

Lesemodus :

Puffer wird geleert

Beispiel:

if (fflush(fp) == EOF)

printf("Puffer nicht geschrieben\n");

 

fgetc

#include <stdio.h>

Prototyp:

int fgetc(FILE *fp);

Rückgabewert:

gelesenes Zeichen, Fehler oder Dateiende: EOF

Beschreibung:

liest aus der Datei das Zeichen von der aktuellen Position (Position wird 1 erhöht)

Beispiel:

c = fgetc(fp); /* weist c das Zeichen der aktuellen Position zu */

 

fgetpos

#include <stdio.h>

Prototyp:

int fgetpos(FILE *fp, fpos__t *ppos);

Rückgabewert:

kein Fehler: 0; andernfalls: Wert ungleich 0

Beschreibung:

ermittelt die aktuelle Position in der Datei und kopiert aktuelle Position in durch ppos adressierte Variable. fpos__t ist in stdio.h als long definiert. Im Fehlerfall erhält errno den Wert EINVAL oder EBADF.

Beispiel:

fgetpos(fp,&pos);

/* sichert aktuelle Position in pos */

 

fgets

#include <stdio.h>

Prototyp:

char *fgets(char *string, int n, FILE *fp);

Rückgabewert:

Fehlerfall: NULL-Pointer; andernfalls: Zeiger string

Beschreibung:

liest Zeichenfolge aus der Datei und kopiert sie in einen durch string adressierten Speicherbereich; am Ende wird "\0" angefügt. Eingelesen wird bis n-1. Zeichen oder bis "\n" .

Beispiel:

if (fgets(name,21,fp) != 0) printf("1. Name: %s\n", name);

/* Ausgabe: 1. Name: xxxx */

 

floor

#include <math.h>

Prototyp:

double floor(double x);

Rückgabewert:

x abgerundet

Beschreibung:

ermittelt die größte ganze Zahl, die kleiner oder gleich x ist (Abrundung)

Beispiel:

printf("floor(1.9) = %4.1f\n", floor(1.9));

/* Ausgabe: floor(1.9) = 1 */

 

fmod

#include <math.h>

Prototyp:

double fmod(double x,double y);

Rückgabewert:

Rest der Division x/y

Beschreibung:

Modulo-Division der double-Werte x und y

Beispiel:

printf("fmod(9.5,4.5) = %3.1f\n", fmod(9.5,4.5));

/* Ausgabe: fmod(9.5,4.5) = 0.5 */

 

fopen

#include <stdio.h>

Prototyp:

FILE *fopen(const char *name,

const char *modus);

Rückgabewert:

File-Pointer

Beschreibung:

öffnet eine Datei name in der Zugriffsart modus. Durch Anhängen des Buchstabens "t" bzw. "b" an modus kann zwischen Binär- und Textmodus gewählt werden. FILE ist in stdio.h definiert. Liste der verschiedenen Modi:

"r"

Lesen

"r+"

Lesen / Schreiben

"w"

Schreiben (wenn Datei nicht existiert, wird sie angelegt)

"w+"

Lesen / Schreiben (wenn Datei nicht existiert, wird sie angelegt)

"a"

Schreiben ab Dateiende

"a+"

Schreiben ab Dateiende / Lesen

bei r und r+ muss die Datei existieren

Beispiel:

fp = fopen("bsp.txt","r");

/* öffnet die bereits existierende Datei bsp.txt

zum Lesen (fp wird mit der Datei verbunden) */

 

fprintf

#include <stdio.h>

Prototyp:

int fprintf(FILE *fp,const char

formatstring, ... );

Rückgabewert:

Anzahl der ausgegebenen Zeichen; Fehlerfall: EOF

Beschreibung:

schreibt Formatstring in die mit fp verbundene Datei (Formatierung zulässig)

Beispiel:

fprintf(fp,"2 * 2 = %d \n",2*2);

/* Ausgabe von: 2 * 2 = 4 in die Datei,

die mit fp verbunden ist */