putc

#include <stdio.h>

Prototyp:

int putc(int c, FILE *fp);

Rückgabewert:

Fehlerfall: EOF; andernfalls: ausgegebenes Zeichen

Beschreibung:

Der Makro schreibt das Zeichen c auf die aktuelle Position der Datei

Beispiel:

putc(c,fp); /* schreibt das Zeichen c an die aktuelle Position

der Datei, die mit fp verbunden ist */

 

putchar

#include <stdio.h>

Prototyp:

int putchar(int c);

Rückgabewert:

Fehlerfall: EOF; andernfalls: ausgegebenes Zeichen

Beschreibung:

Der Makro schreibt das Zeichen c auf die Standardausgabe. (putc(c,stdout) ist wirkungsgleich zu putchar(c)).

Beispiel:

putchar(c); /* gibt das Zeichen c über stdout aus */

 

puts

#include <stdio.h>

Prototyp:

int puts(const char *string);

Rückgabewert:

nicht negativer Wert; im Fehlerfall: EOF

Beschreibung:

schreibt den String string auf die Standardausgabe stdout, abschließend wird ein Newline-Zeichen '\n' ausgegeben.

Beispiel:

puts("Ausgabe");

/* gibt 'Ausgabe' mit abschließendem Zeilenumbruch auf stdout aus */

 

qsort

#include <stdlib.h>

Prototyp:

void qsort(void *array,size__t n,

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

Rückgabewert:

keiner

Beschreibung:

sortiert das Feld array aufsteigend nach dem Quick-Sort-Algorithmus, wobei das Feld n Elemente der Größe size besitzt. size__t ist in stdlib.h als unsigned int definiert. compare ist ein Zeiger auf eine Vergleichsfunktion, der Zeiger auf 2 Feldelemente übergeben werden (Argumente von compare müssen Zeiger auf den Typ der Feldelemente sein). compare liefert Rückgabewerte folgender Art :

kleiner 0 : 1. Element < 2. Element

gleich 0 : 1. Element = 2. Element

größer 0 : 1. Element > 2. Element

Beispiel:

qsort(zahlenfeld,zahlenanzahl,sizeof(zahl),vergleich);

/* sortiert ein Feld von Zahlen zahlenfeld mit zahlenanzahl

Elementen der Größe sizeof(zahl) mit Hilfe der Vergleichsfunktion

vergleich nach dem Quick-Sort-Algorithmus */

 

raise

#include <signal.h>

Prototyp:

int raise(int sig);

Rückgabewert:

erfolgreiche Ausführung: 0; andernfalls: Wert ungleich 0

Beschreibung:

sendet ein Signal sig zum ausführenden Programm. Ist mit der Funktion signal eine Behandlungsfunktion für die Nummer des Signals festgelegt worden, so wird diese ausgeführt andernfalls wird die Standardroutine behandelt.

 

rand

#include <stdlib.h>

Prototyp:

int rand(void);

Rückgabewert:

Zufallszahl

Beschreibung:

liefert eine Pseudo-Zufallszahl, die zwischen 0 und RAND__MAX liegt. RAND__MAX ist in stdlib.h definiert und ist mindestens 32767. Die Initialisierung erfolgt mit srand.

 

realloc

#include <stdlib.h>

Prototyp:

void *realloc(void *ptr, size__t n);

Rückgabewert: typenloser Zeiger auf zugewiesenen Speicher; im Fehlerfall: NULL-Zeiger

Beschreibung:

verändert die Größe des durch ptr bezeichneten Speicherbereichs, der zuvor durch malloc, calloc oder realloc reserviert wurde. n ist die Länge des neuen Speicherbereiches size__t ist in stdlib.h als unsigned int definiert. Die Daten im bereits zugewiesenen Bereich bleiben unverändert.

Beispiel:

realloc(zeiger,anzahl*sizeof(typ));

/* ändert die Größe des durch zeiger bezeichneten Speicherbereiches

auf einen Wert, so dass er anzahl Variablen vom Typ typ aufnehmen

kann */

 

remove

#include <stdio.h>

Prototyp:

int remove(const char *filename);

Rückgabewert:

Fehlerfall: Wert ungleich 0; andernfalls: 0

Beschreibung:

die unter filename angegebene Datei lässt sich nicht mehr unter ihrem Namen ansprechen, verfügt sie über keine weiteren 'links' (Dateinamen), so wird sie gelöscht. Verzeichnisse oder read-only-Dateien können nicht gelöscht werden. Bei Fehlern erhält errno den Wert EACCES bzw. ENOENT.

Beispiel:

remove("bsp.txt");

/* löscht die Datei 'bsp.txt' */

 

rename

#include <stdio.h>

Prototyp:

int rename(const char *altname,

const char *neuname);

Rückgabewert:

Fehlerfall: Wert ungleich 0; andernfalls: 0

Beschreibung:

benennt die Datei altname in neuname um. altname muss bereits existieren. Eintrag von neuname in ein anderes Verzeichnis ist möglich, nicht jedoch Eintrag in ein anderes Laufwerk.

Beispiel:

rename("\\praxis\\bsp.txt","\\praxis\\thema1\\bsp1.txt");

/* benennt die Datei bsp.txt im Verzeichnis \praxis in

bsp1.txt im Verzeichnis \praxis\thema1 um */

 

rewind

#include <stdio.h>

Prototyp:

void rewind(FILE *fp);

Rückgabewert: keiner

Beschreibung:

setzt den Seek-Zeiger der Datei auf den Dateianfang zurück, löscht das Dateiende-Flag und das Fehler-Flag

Beispiel:

rewind(fp);

/* der Seek-Zeiger der mit fp verbundenen Datei wird auf den

Dateianfang zurückgesetzt, das Dateiende- und das Fehler-Flag

werden gelöscht */

 

scanf

#include <stdio.h>

Prototyp:

int scanf(const char *formatstring,...,

[arg1,...,argn]);

Rückgabewert:

Anzahl der tatsächlich eingelesenen und konvertierten Eingabefelder; bei Lesefehler oder Dateiende: EOF

Beschreibung:

liest Zeichen in formatierter Form von der Standardeingabe stdin ein und legt sie konvertiert auf den Argumenten arg1 bis argn ab. Die Interpretation der eingelesenen Zeichen erfolgt durch den Format-String formatstring.

Für jedes Formatelement des Strings muss ein Argument angegeben sein (überzählige werden ignoriert).

Formatelemente haben folgende Form:

% [Feldbreite] typ

(siehe printf)

Eingabefelder werden durch Zwischenraumzeichen getrennt

- wird mit Typ s ein String eingelesen, so wird ein Stringende-Zeichen angehängt

- anstelle von s kann auch ein Scanset (Folge von sog. Suchzeichen) angegeben werden, welcher in eckige Klammern eingeschlossen wird; jedes einzulesende Zeichen muss dann mit einem der Suchzeichen übereinstimmen. Ist den Suchzeichen ein '^' vorangestellt, wird das Einlesen beendet, sobald ein Suchzeichen auftritt.

- steht hinter '%' ein '*', wird das entsprechende Eingabefeld überlesen. Es darf kein Argument angegeben werden.

 

setbuf

#include <stdio.h>

Prototyp:

void setbuf(FILE *fp, char *buffer);

Rückgabewert:

keiner

Beschreibung:

richtet für die mit dem Dateizeiger verbundene Datei den Dateipuffer buffer ein. Iieser muss die Länge BUFSIZ haben. BUFSIZ ist in stdio.h definiert. Falls buffer ein NULL-Zeiger ist, ist die Ein-/Ausgabe ungepuffert. setbuf() muss sofort nach dem Öffnen der Datei aufgerufen werden.

Beispiel:

char puffer[BUFSIZ];

setbuf(fp,puffer);

/* setzt einen Ein-/Ausgabepuffer der Größe BUFSIZ

für die mit fp verbundene Datei */

 

setjmp

#include <setjmp.h>

Prototyp:

int setjmp(jmp__buf env);

Rückgabewert:

0; bei Rücksprung durch longjmp wird dieser auf einen Wert ungleich 0 gesetzt

Beschreibung:

speichert den momentanen Maschinenzustand und die Stack-Umgebung in env. jmp__buf ist in setjmp.h definiert. Durch späteren longjmp-Aufruf wird der gespeicherte Zustand wiederhergestellt.

Beispiel:

setjmp(env); /* speichert den aktuellen Zustand und die Stack-

Umgebung in der Variablen env */

 

setvbuf

#include <stdio.h>

Prototyp:

int setvbuf (FILE *fp,char *buffer,

int mode,size__t size);

Rückgabewert:

Fehlerfall: Wert ungleich 0; andernfalls : 0

Beschreibung:

legt für die Datei anstelle des standardmäßigen Dateipuffers einen Puffer der Länge size. Für den Parameter mode sind in stdio.h folgende symbolische Konstanten definiert:

__IOFBF

Ein-/Ausgabe werden vollständig gepuffert

__IOLBF

Ausgaben werden zeilenweise gepuffert, Eingaben werden vollständig gepuffert

__IONBF

Ein-/Ausgaben sind ungepuffert;

falls buffer ein NULL-Zeiger ist, so wird durch einen Aufruf von malloc ein Puffer der Größe size dynamisch angelegt

Beispiel:

setvbuf(fp,buffer,__IONBF,sizeof(buffer);

/* setzt für die mit fp verbundene Datei eine ungepufferte

Ein-/Ausgabe (buffer und sizeof(buffer) werden ignoriert) */

 

signal

#include <signal.h>

Prototyp:

void (*signal (int sig,

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

Rückgabewert:

Fehlerfall : SIG__ERR; erster Aufruf : SIG__DFL; andernfalls: Wert von func aus dem vorhergehenden Aufruf

Beschreibung:

legt fest, wie das Programm auf Signale mit der Signalnummer sig reagiert. Das Argument func legt die Art der Reaktion fest. Folgende Möglichkeiten sind vorhanden:

SIG__DFL -

Standardroutine für die Signalnummer wird aufgerufen; danach im allgemeinen

Programmende

SIG__IGN -

Signal wird ignoriert, das Programm fortgesetzt

Adresse einer Funktion - signal(sig,SIG__DFL) wird aufgerufen, dann die Funktion

(*func)(sig) (für nächstes sig wird Standardroutine eingesetzt, dann die eigentliche

Reaktion auf das momentane Signal ausgeführt)

Folgende Signaltypen sind nach ANSI-Standard in signal.h definiert:

SIGABRT

abnormale Programmbeendigung (z.B. durch abort; Beenden des Programms)

SIGFPE

Divisions-,Coprozessor- oder Emulationsfehler

SIGINT

durch Drücken von '^C'

SIGSEGV

durch ungültigen Speicherzugriff

SIGTERM

Software-Beendigung des Programms (unter UNIX Standardsignal des Kill-Kommandos)

Bei Fehlern erhält errno den Wert EINVAL

Beispiel:

#include <stdio.h>

#include <stdlib.h>

#include <signal.h>

void sig_handler(int sig);

main()

if (signal(SIGINT,sig_handler) == SIGERR)

perror("Signal-Funktion"), exit(3);

while(1) puts("Abbruch mit Strg-C!\n");

void sig_handler(int sig)

char c;

if (sig != SIGINT) exit(1);

signal(SIGINT,SIG__IGN);

fputs("\nProgramm beenden(j/n)?",stderr);

while((c=getch() | 0x20 != 'j' && c!='n');

if(c == 'j') exit(0);

signal(SIGINT,sig_handler);

 

sin

#include <math.h>

Prototyp:

double sin(double x);

Rückgabewert:

sin(x)

Beschreibung:

liefert den Sinus von x. Die Angabe erfolgt im Bogenmaß. Das Argument x wird durch Modulo-Division in den Bereich von 0 bis 2*Pi umgerechnet (große Ungenauigkeit bei großen Argumenten).

Beispiel:

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

/* Ausgabe: sin(0.0) = 0.0 */

 

sinh

#include <math.h>

Prototyp:

double sinh(double x);

Rückgabewert:

sinh(x); Überlauf : HUGE__VAL

Beschreibung:

liefert den Sinus Hyperbolicus von x. Bei einem Überlauf erhält errno den Wert ERANGE.

Beispiel:

printf("sinh(0.0) = 8.4f\n",sinh(0.0));

/* Ausgabe: sinh(0.0) = 0.0000 */

 

sprintf

#include <stdio.h>

Prototyp:

int sprintf(char *string,const char

*formatstring,... [arg1,...,argn]);

Rückgabewert:

Anzahl der Zeichen, die in den String kopiert wurden (ohne Stringende-Zeichen)

Beschreibung:

kopiert formatstring mit den Werten aus der Argumentliste formatiert in den String string (Stringende-Zeichen wird angehängt)

Beispiel:

sprintf(text,"%15s",name);

/* kopiert den 15 Zeichen langen String name in den

Speicher, der durch text adressiert wird */

 

sqrt

#include <math.h>

Prototyp:

double sqrt(double x);

Rückgabewert:

Quadratwurzel von x

Beschreibung:

liefert die Quadratwurzel von x. Falls x negativ ist, erhält errno den Wert ERANGE

Beispiel:

printf("sqrt(9) = %3.1f\n",sqrt(9));

/* Ausgabe: sqrt(9) = 3.0 */

 

srand

#include <stdlib.h>

Prototyp:

void srand(unsigned n);

Rückgabewert:

keiner

Beschreibung:

initialisiert den Zufallszahlengenerator mit n; anschließend erzeugt rand eine neue Folge von Zufallszahlen

Beispiel:

srand(5); /* initialisiert den Generator mit 5 */

 

sscanf

#include <stdio.h>

Prototyp:

int sscanf(char *string,const char *formatstring,

... [arg1,...,argn]);

Rückgabewert:

Anzahl der tatsächlich übertragenen Eingabefelder; Stringende-Zeichen : EOF

Beschreibung:

liest und konvertiert Daten aus dem String string und schreibt sie in die durch die Argumentliste bezeichneten Variablen

Beispiel:

sscanf(adresse,"%[^,],%[^,],%d",ort,straße, &hausnr);

/* liest aus dem String adresse 1.Teilstring (bis zu einem Komma)

in die Variable ort, 2. Teilstring (bis zu einem Komma)

in straße und den Rest (eine Zahl) in hausnr */

 

strcat

#include <string.h>

Prototyp:

char *strcat(char *s1,const char *s2);

Rückgabewert:

erstes Argument

Beschreibung:

kettet den String s2 an das Ende des Strings s1 (Stringende-Zeichen von s1 wird überschrieben). s1 muss s2 aufnehmen können.

Beispiel:

strcat(s1,s2); /* hängt s2 an s1 an */

 

strchr

#include <string.h>

Prototyp:

char *strchr(const char *s,int c);

Rückgabewert:

Zeiger auf Stelle des 1. Auftretens von c im String s; nicht vorhanden: NULL-Zeiger

Beschreibung:

sucht nach dem 1. Auftreten des Zeichens c im String s

Beispiel:

strchr(text,zeichen);

/* sucht im String text nach dem 1. Auftreten des Zeichens zeichen */

 

strcmp

#include <string.h>

Prototyp:

int strcmp(const char *s1,const char *s2);

Rückgabewert:

< 0 falls s1 < s2;

= 0 falls s1 = s2

und

> 0 falls s1 > s2

Beschreibung:

vergleicht die Strings s1 und s2 lexikographisch

Beispiel:

strcmp("HALLO","hallo");

/* vergleicht die beiden Strings 'HALLO' und

'hallo' miteinander ('hallo' ist größer als 'HALLO',

da im ASCII die Kleinbuchstaben höherwertig sind) */

 

strcpy

#include <string.h>

Prototyp:

char *strcpy(char *s1,const char *s2);

Rückgabewert:

s1

Beschreibung:

kopiert s2 in den von s1 adressierten Speicher

Beispiel:

strcpy(s1,s2);

/* kopiert s2 in den Speicher von s1 (s1 geht verloren) */

 

strcspn

#include <string.h>

Prototyp:

int strcspn(const char *s1,const char *s2);

Rückgabewert:

Länge des Teilstrings

Beschreibung:

liefert Länge des Teilstrings von s1, der keines der Zeichen von s2 enthält

Beispiel:

strnspn("Das Ergebnis ist 5","0123456789");

/* gibt die Länge des Strings bis zum 1. Auftreten einer Ziffer an */

 

strerror

#include <string.h>

Prototyp:

char *strerror(int errnr);

Rückgabewert:

Zeiger auf Fehlermeldung

Beschreibung:

liefert einen Zeiger auf die zur Zahl errnr gehörende Systemfehlermeldung zurück. Die Zahl errnr ist meist der in errno gespeicherte Wert.

Beispiel:

fehlertext = strerror(errno);

/* weist der Variablen fehlertext die Fehlermeldung zu,

die durch errno charakterisiert wird */

 

strlen

#include <string.h>

Prototyp:

size__t strlen(const char *s);

Rückgabewert: Länge des Strings

Beschreibung:

liefert die Länge des Strings s (ohne Stringende-Zeichen). size__t ist in string.h als unsigned int definiert

Beispiel:

strlen("Beispiel");

/* bestimmt die Länge des Strings 'Beispiel' */

 

strncat

#include <string.h>

Prototyp:

char *strncat(char *s1,const char *s2,size__t n);

Rückgabewert:

s1

Beschreibung:

hängt die ersten n Zeichen des Strings s2 und das Stringende-Zeichen an den String s1 an. size__t ist in string.h als unsigned int definiert.

Beispiel:

strncat(s1,s2,5);

/* hängt die ersten 5 Zeichen von String s2 an s1 an */

 

strncmp

#include <string.h>

Prototyp: int strncmp(const char *s1,const char *s2,size__t n);

Rückgabewert:

< 0 falls s1 < s2;

= 0 falls s1 = s2

und

> 0 falls s1 > s2

Beschreibung:

vergleicht die ersten n Zeichen von s1 und s2. Der Vergleich wird beim ersten Stringende-Zeichen abgebrochen

Beispiel:

strncmp(s1,s2,10);

/* vergleicht die ersten 10 Zeichen von s1 und s2 */

 

strncpy

#include <string.h>

Prototyp:

char *strncpy(char *s1,const char *s2,size__t n);

Rückgabewert:

s1

Beschreibung:

kopiert die ersten n Zeichen von s2 in den durch s1 bezeichneten Speicherbereich. Das Stringende-Zeichen wird nicht angehängt. Ist s2 kleiner als n wird mit '\0' aufgefüllt.

Beispiel:

strncpy(s1,"Testphase",4);

/*kopiert 'Test' in den durch s1 bezeichneten char-Vektor */

 

strpbrk

#include <string.h>

Prototyp:

char *strpbrk(const char *s1,const char *s2);

Rückgabewert:

Zeiger auf erstes in s1 mit s2 übereinstimmendes Zeichen

Beschreibung:

durchsucht s1 nach einem der in s2 enthaltenen Zeichen

Beispiel:

zeiger= strpbrk("Blumenweg 3","1234567890");

/* weist dem Pointer zeiger die Adresse der 1.Ziffer des Strings zu */

 

strrchr

#include <string.h>

Prototyp:

char *strrchr(const char *s,int c);

Returnwert:

Zeiger auf letztes Auftreten von Zeichen c in String s; falls c in s nicht vorkommt: NULL-Zeiger

Beschreibung:

sucht nach letztem Auftreten des Zeichens c im String s

Beispiel:

zeiger= strrchr("Teststring",'s');

/* weist zeiger die Adresse des 2. s in 'Teststring' zu */

 

strspn

#include <string.h>

Prototyp:

int strspn(const char *s1,const char *s2);

Rückgabewert:

Länge des Teilstrings aus s1, der nur Zeichen aus s2 enthält

Beschreibung:

ermittelt Länge des Teilstrings von s1, der nur aus in s2 enthaltenen Zeichen besteht

Beispiel:

laenge= strspn("450 Artikel","1234567890");

/* weist laenge die Länge des nur aus Ziffern bestehenden

Teilstrings zu */

 

strstr

#include <string.h>

Prototyp:

char *strstr(const char *s1,const char *s2);

Rückgabewert:

Adresse des ersten Auftretens; nicht enthalten: NULL-Zeiger

Beschreibung:

sucht im String s1 nach s2

Beispiel:

puts(strstr("Heute ist es sehr heiß","sehr"));

/* gibt mit Hilfe der Funktion puts 'sehr heiß' aus */

 

strtod

#include <stdlib.h>

Prototyp:

double strtod(const char *s,char **endptr);

Rückgabewert:

umgewandelte double-Zahl; keine Umwandlung: 0;

Überlauf: HUGE__VAL mit Vorzeichen; Unterlauf: 0

Beschreibung:

wandelt führende Zeichenfolge im String s in eine double-Zahl um; beim ersten nicht als Teil einer Gleitpunktzahl interpretierbaren Zeichen wird die Umwandlung abgebrochen. endptr wird auf das erste nicht mehr interpretierbare Zeichen gesetzt. Bei Über- bzw. Unterlauf erhält errno den Wert ERANGE.

Beispiel:

printf("Zahl: %f\n",strtod("200,5 Kilo",&rest));

/* Ausgabe: Zahl: 200.5; rest zeigt auf 'Kilo' */

 

strtok

#include <string.h>

Prototyp:

char *strtok(char *s1,const char *s2);

Rückgabewert:

Zeiger auf das nächste Token; kein weiteres Token: NULL-Zeiger

Beschreibung:

zerlegt String s1 in 'Token', die durch Zeichen aus s2 voneinander getrennt sind. Beim 1. Aufruf muss s1 angegeben werden, bei jedem weiteren dagegen 0. An jedes Token wird das Stringende-Zeichen '\0' angehängt (s1 wird verändert!). s2 kann bei jedem Aufruf verändert werden

Beispiel:

zeiger = strtok("Hallo, wie geht es"," ");

zeiger1 = strtok(0," ");

/* zeiger zeigt auf 'Hallo,' und zeiger1 auf 'wie' */

 

strtol

#include <stdlib.h>

Prototyp:

long strtol(const char *s,char **endptr,int base);

Rückgabewert:

umgewandelte long-Zahl; keine Umwandlung: 0; Überlauf: LONG_MIN bzw. LONG_MAX

Beschreibung:

führende Zeichenfolge in s wird in eine long-Zahl konvertiert; die Zeichenfolge wird als Zahl zur Basis base interpretiert. Beim ersten nicht interpretierbaren Zeichen wird die Umwandlung abgebrochen. endptr zeigt auf das erste nicht interpretierbare Zeichen bei einem Überlauf erhält errno den Wert ERANGE.

Beispiel:

printf("Zahl:%ld\n",strtol(10 Leute",&rest,10));

/* Ausgabe: Zahl: 10; rest zeigt auf die restlichen

String-Zeichen 'Leute' */

 

strtoul

#include <stdlib.h>

Prototyp:

unsigned long strtoul(const char *s,char **endptr,int base);

Rückgabewert:

umgewandelte unsigned long-Zahl; keine Umwandlung: 0; Überlauf: ULONG__MAX

Beschreibung:

wandelt führende Zeichenfolge von s in eine unsigned long-Zahl um (Zahl zur Basis base) Beim ersten nicht interpretierbaren Zeichen wird die Umwandlung abgebrochen endptr zeigt auf das erste nicht mehr interpretierbare Zeichen bei einem Überlauf erhält errno den Wert ERANGE.

Beispiel:

printf("Zahl : %ld\n",strtoul(2000 Einwohner,&rest,10);

/* Ausgabe: Zahl : 2000; rest zeigt auf den Reststring 'Einwohner' */

 

system

#include <stdlib.h>

Prototyp:

int system(const char *s);

Rückgabewert:

NULL-Zeiger übergeben:

- Kommandointerpreter nicht verfügbar: 0

- sonst:

Wert ungleich 0

Argument kein NULL-Zeiger:

- compilerabhängig, in der Regel 0 bei korrekter Ausführung

Wert ungleich 0 bei einem Fehler

Beschreibung:

schickt den String s an den Kommandointerpreter des Betriebssystems. Die Bearbeitung erfolgt wie bei am Prompt eingegebenen Befehlen.

Beispiel:

system("CLS");

/* löscht über den Kommandointerpreter des Betriebssystems

den Bildschirm */

 

tan

#include <math.h>

Prototyp:

double tan(double x);

Rückgabewert:

tan(x); Argumentwert zu groß oder zu nah an den Polstellen: 0

Beschreibung:

liefert den Tangens von x. Die Angabe erfolgt im Bogenmaß.

Beispiel:

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

/* Ausgabe: tan(1.0) = 1.5574 */

 

tanh

#include <math.h>

Prototyp:

double tanh(double x);

Rückgabewert:

tanh(x)

Beschreibung:

liefert den Tangens Hyperbolicus von x

Beispiel:

printf("tanh(2.0) = %7.4f\n",tanh(2.0));

/* Ausgabe: tanh(2.0) = 0.9640 */

 

time

#include <time.h>

Prototyp:

time__t time(time__t *ptr);

Rückgabewert:

Anzahl der Sekunden

Beschreibung:

liefert Anzahl der Sekunden seit 1.1.1970 0 Uhr (GMT). Die Anzahl wird als Return-Wert zurückgeliefert und gleichzeitig in den durch

ptr adressierten Speicher geschrieben. time__t ist in time.h als long definiert.

Beispiel:

time(&zeit);

/* speichert die Anzahl der Sekunden seit 1.1.1970 0 Uhr in zeit */

 

tmpfile

#include <stdio.h>

Prototyp:

FILE *tmpfile(void)

Rückgabewert:

Datei eröffnet: File-Pointer; andernfalls: NULL-Zeiger

Beschreibung:

öffnet eine temporäre Datei im Binärmodus zum Schreiben und Lesen. Diese Datei wird automatisch bei Programmende oder beim Schließen gelöscht.

Beispiel:

fp = tmpfile();

/* dem File-Pointer fp wird eine temporäre Datei zugeordnet */

 

tmpnam

#include <stdio.h>

Prototyp:

char *tmpnam(char *s);

Rückgabewert:

Argument ist NULL-Zeiger: Zeiger auf den internen Puffer mit dem neuen Dateinamen Argument kein NULL-Zeiger: Zeichenkette s

Beschreibung:

liefert einen neuen Dateinamen für eine temporäre Datei (verschieden von allen Dateinamen im aktuellen Verzeichnis). Ist s ein NULL-Zeiger, wird der erzeugte Dateiname in einem internen statischen Puffer abgelegt, der bei jedem neuen Aufruf überschrieben wird. Ist s kein NULL-Zeiger, so muss s auf einen char-Vektor zeigen, der mindestens L__tmpnam Bytes speichern kann (für Dateiname). Es können bis zu TMP__MAX verschiedene Namen erstellt werden. Die symbolischen Konstanten TMP__MAX und L__tmpnam sind in stdio.h definiert.

Beispiel:

tmpnam(name);

/* speichert in name einen neuen Dateinamen */

 

tolower

#include <ctype.h>

Prototyp:

int tolower(int c);

Rückgabewert:

umgewandeltes Zeichen

Beschreibung:

konvertiert den in c gespeicherten Großbuchstaben in einen Kleinbuchstaben. Jedes andere Zeichen bleibt unverändert (nur ASCII-Zeichen 0 bis 127 betrachtet).

Beispiel:

klein = tolower(gross);

/* weist klein den umgewandelten Großbuchstaben zu */

 

toupper

#include <ctype.h>

Prototyp:

int toupper(int c);

Rückgabewert:

umgewandeltes Zeichen

Beschreibung:

konvertiert den in c gespeicherten Kleinbuchstaben in einen Großbuchstaben. Andere Zeichen bleiben unverändert (nur ASCII-Zeichen 0 - 127 betrachtet).

Beispiel:

gross = toupper(klein);

/* weist gross den umgewandelten Kleinbuchstaben klein zu */

 

ungetc

#include <stdio.h>

Prototyp:

int ungetc(int c, FILE *fp);

Rückgabewert:

Zeichen c; Fehlerfall : EOF

Beschreibung:

schreibt das Zeichen c wieder in den Dateipuffer zurück. Sollte ein EOF-Flag gesetzt sein, wird es gelöscht. Die nachfolgende Leseoperation beginnt mit dem Zeichen c. Die Datei muss zum Lesen geöffnet sein.

Beispiel:

ungetc(c,fp);

/* schreibt das Zeichen c in den Dateipuffer der mit fp

verbundenen Datei */

 

va__arg

#include <stdarg.h>

Prototyp:

type va__arg(va__list argptr,type);

Rückgabewert:

nächstes Argument

Beschreibung:

ermöglicht Umgang mit variabler Anzahl von Argumenten bei Funktionsaufrufen. Übergibt das nächste optionale Argument der Funktion, auf die argptr zeigt. Dazu muss der Datentyp type des Argumentes angegeben werden.

 

va__end

#include <stdarg.h>

Prototyp:

void va__end(va__list argptr);

Rückgabewert:

keiner

Beschreibung:

sollte aufgerufen werden, wenn alle optionalen Argumente einer Funktion gelesen wurden. argptr wird auf 0 gesetzt.

 

va__start

#include <stdarg.h>

Prototyp:

void va__start(va__list argptr,lastfix);

Rückgabewert:

keiner

Beschreibung:

ermöglicht Umgang mit variabler Anzahl von Argumenten bei Funktionsaufrufen initialisiert den Zeiger argptr (zeigt auf erstes optionales Argument). lastfix muss der letzte obligatorische Parameter sein

 

vfprintf

#include <stdio.h>

#include <stdarg.h>

Protoyp: int vfprintf(FILE *fp,const char *formatstring, va__list argptr);

Rückgabewert:

Anzahl der ausgegebenen Zeichen

Beschreibung:

entspricht der Funktion fprintf mit dem Unterschied, dass statt der Argumentenliste ein Zeiger auf diese erwartet wird

Beispiel:

siehe fprintf

 

vprintf

#include <stdio.h>

#include <stdarg.h>

Prototyp:

int vprintf(const char *formatstring, va__list argptr);

Rückgabewert:

Anzahl der ausgegebenen Zeichen

Beschreibung:

entspricht der Funktion printf mit dem Unterschied, dass statt der Argumentenliste ein Zeiger auf diese erwartet wird

Beispiel:

siehe printf

 

vsprintf

#include <stdio.h>

#include <stdarg.h>

Prototyp: int vsprintf(char *buf,const char *formatstring, va__list argptr);

Rückgabewert:

Anzahl der ausgegebenen Zeichen

Beschreibung:

entspricht der Funktion sprintf mit dem Unterschied, dass statt der Argumentenliste ein Zeiger auf diese erwartet wird

Beispiel:

siehe sprintf