Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
stdio - Standardein-/-ausgabe-Bibliotheksfunktionen
"UBERSICHT
#include <stdio.h>
FILE *stdin;
FILE *stdout;
FILE *stderr;
BESCHREIBUNG
Die Standard-E/A-Bibliothek stellt eine einfache und effiziente
E/A-Schnittstelle fur gepufferte Datenstrome zur Verfugung. Ein- und
Ausgabe werden als logische Datenstrome dargestellt und physikalische
E/A-Charakteristiken werden verborgen. Die Funktionen und Makros sind
im Folgenden aufgelistet; weitere Informationen sind auf den
verschiedenen Handbuchseiten verfugbar.
Ein Datenstrom wird mit einer externen Datei (die ein physikalisches
Gerat sein kann) verbunden, indem eine Datei ge"offnet wird, was das
Erzeugen einer neuen Datei beinhaltet. Eine bestehende Datei zu
erzeugen, verwirft ihren bisherigen Inhalt. Wenn die Datei
Positionierungsanderungen unterstutzt (wie eine Datei auf einer
Festplatte, im Gegensatz zu einem Terminal), dann wird ein
Dateipositionszeiger mit dem Datenstrom verbunden und auf den Anfang
der Datei positioniert (nulltes Byte), auBer wenn die Datei im
Anhange-Modus geoffnet wurde. Im Anhange-Modus ist es nicht
spezifiziert, ob der Positionsanzeiger auf den Anfang oder das Ende der
Datei platziert wird. Der Positionszeiger wird durch nachfolgende
Lese-, Schreib- und Positionierungszugriffe bewegt. Jede Eingabe wird
so eingelesen, als ob die Funktion fgetc(3) fur jedes Zeichen einzeln
aufgerufen worden ware. Die Ausgabe erfolgt, als wurde jedes Zeichen
einzeln durch die Funktion fputc(3) geschrieben.
Eine Datei wird von einem Datenstrom durch SchlieBen der Datei gelost.
Ausgabedatenstrome werden geleert (noch nicht geschriebener
Pufferinhalt wird auf den Rechner ubertragen) bevor der Datenstrom von
der Datei getrennt wird. Der Wert eines Zeigers auf ein FILE Objekt ist
nicht mehr gultig, nachdem die Datei geschlossen wurde (Mull).
Eine Datei kann nachfolgend durch das selbe oder ein anderes Programm
wieder geoffnet und ihr Inhalt zuruckgelesen oder verandert werden
(falls sie auf den Anfang zuruckpositioniert werden kann). Wenn die
Hauptfunktion zum ursprunglich Aufrufenden zuruckkehrt oder die
Funktion exit(3) aufgerufen wird, werden alle offenen Dateien vor
Programmende geschlossen (nachdem alle Ausgabedatenstrome
herausgeschrieben wurden). Andere Methoden zur Beendigung von
Programmen, wie abort(3), kummern sich nicht um das korrekte SchlieBen
von Dateien.
Bei Programmstart sind drei Textdatenstrome vordefiniert und brauchen
nicht explizit geoffnet zu werden - Standardeingabe (zum Lesen
konventioneller Eingabe), - Standardausgabe (zum Schreiben
konventioneller Ausgabe) und Standardfehlerausgabe (zum Schreiben der
Diagnoseausgabe). Diese Datenstrome werden abgekurzt durch stdin,stdout
und stderr. Der Datenstrom der Standardfehlerausgabe ist nicht
vollstandig gepuffert, wenn er geoffnet ist; die Datenstrome der
Standardein- und -ausgabe sind nur dann vollstandig gepuffert, wenn die
Datenstrome nicht auf ein interaktives Gerat verweisen.
Ausgabedatenstrome, die auf Terminalgerate verweisen, sind
standardmaBig zeilengepuffert. Noch ausstehende Ausgaben zu solchen
Datenstromen werden automatisch geschrieben, wann immer aus einem
Eingabedatenstrom gelesen wird, der sich auf ein Terminalgerat bezieht.
Falls nach einer Ausgabe viel gerechnet wird, ist es notwendig,
fflush(3) vor der Rechnung aufzurufen, damit die Ausgabe erscheint.
Die Bibliothek stdio ist Teil der Bibliothek libc und die Routinen
werden von den Compilern cc(1) und pc(1) nach Bedarf geladen. Die
Abschnitte UBERSICHT der folgenden Handbuchseiten zeigen, welche
Include-Dateien zu benutzen sind, wie die Deklaration fur die Funktion
aussieht und welche externen Variablen interessant sind.
Die folgenden Namen sind als Makros definiert. Sie durfen nicht
wiederbenutzt werden ohne ihre vorherigen Definitionen vorher mit
#undef zu entfernen: BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid,
L_ctermid, L_tmpnam, NULL, SEEK_END, SEEK_SET, SEEK_CUR, TMP_MAX,
clearerr, feof, ferror, fileno, getc, getchar, putc, putchar, stderr,
stdin, stdout. Von den Makrofunktionen feof, ferror, clearerr, fileno,
getc, getchar, putc und putchar existieren Funktionsversionen. Diese
werden benutzt, wenn die Makrodefinitionen explizit entfernt werden.
Liste der Bibliotheksfunktionen
Funktion Beschreibung
----------------------------------------------------------------------------
clearerr Status des Datenstroms prufen und zurucksetzen
fclose Datenstrom schlieBen
fdopen Funktionen zum Offnen eines Datenstroms
feof Status des Datenstroms prufen und zurucksetzen
ferror Status des Datenstroms prufen und zurucksetzen
fflush Datenstrom herausschreiben
fgetc das nachsten Zeichen oder Wort vom Eingabedatenstrom einlesen
fgetpos einen Datenstrom neu positionieren
fgets eine Zeile aus einem Datenstrom einlesen
fileno den Ganzzahldeskriptor eines Argumentdatenstroms zuruckgeben
fopen Funktionen zum Offnen eines Datenstroms
fprintf formatierte Ausgabeumwandlung
fpurge einen Datenstrom herausschreiben
fputc ein Zeichen oder Wort in den Datenstrom ausgeben
fputs eine Zeile in den Datenstrom ausgeben
fread binare Datenstromein-/-ausgabe
freopen Funktionen zum Offnen eines Datenstroms
fscanf formatbasierte Eingabeumwandlung
fseek einen Datenstrom neu positionieren
fsetpos einen Datenstrom neu positionieren
ftell einen Datenstrom neu positionieren
fwrite binare Datenstromein-/-ausgabe
getc nachstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
getchar nachstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
gets eine Zeile aus dem Datenstrom einlesen
getw nachstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
mktemp einen (eindeutigen) temporaren Dateinamen erzeugen
perror Systemfehlermeldungen
printf formatierte Ausgabeumwandlung
putc ein Zeichen oder Wort in einen Datenstrom ausgeben
putchar ein Zeichen oder Wort in einen Datenstrom ausgeben
puts eine Zeile in einen Datenstrom ausgeben
putw ein Zeichen oder Wort in einen Datenstrom ausgeben
remove einen Verzeichniseintrag loschen
rewind einen Datenstrom neu positionieren
scanf formatbasierte Eingabeumwandlung
setbuf Datenstrom-Puffereinstellungen
setbuffer Datenstrom-Puffereinstellungen
setlinebuf Datenstrom-Puffereinstellungen
setvbuf Datenstrom-Puffereinstellungen
sprintf formatierte Ausgabeumwandlung
sscanf formatbasierte Eingabeumwandlung
strerror Systemfehlermeldungen
sys_errlist Systemfehlermeldungen
sys_nerr Systemfehlermeldungen
tempnam Routinen fur temporare Dateien
tmpfile Routinen fur temporare Dateien
tmpnam Routinen fur temporare Dateien
ungetc Zeichen zuruck in den Eingabedatenstrom geben
vfprintf formatierte Ausgabeumwandlung
vfscanf formatbasierte Eingabeumwandlung
vprintf formatierte Ausgabeumwandlung
vscanf formatbasierte Eingabeumwandlung
vsprintf formatierte Ausgabeumwandlung
vsscanf formatbasierte Eingabeumwandlung
KONFORM ZU
Die Bibliothek stdio ist konform C89.
SIEHE AUCH
close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)
KOLOPHON
Diese Seite ist Teil der Veroffentlichung 3.32 des Projekts
Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie
Fehler gemeldet werden konnen, finden sich unter
http://www.kernel.org/doc/man-pages/.
"UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother
<krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezuglich der Copyright-
Bedingungen. Es wird KEINE HAFTUNG ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-
german@lists.debian.org>.
26. Dezember 2001 STDIO(3)