Provided by: manpages-de-dev_1.11-1_all bug

BEZEICHNUNG

       stdio - Standardein-/-ausgabe-Bibliotheksfunktionen

ÜBERSICHT

       #include <stdio.h>

       FILE *stdin;
       FILE *stdout;
       FILE *stderr;

BESCHREIBUNG

       Die  Standard-E/A-Bibliothek  stellt  eine  einfache  und effiziente E/A-Schnittstelle für
       gepufferte Datenströme zur Verfügung. Ein- und Ausgabe  werden  als  logische  Datenströme
       dargestellt  und  physikalische  E/A-Charakteristiken werden verborgen. Die Funktionen und
       Makros sind im Folgenden aufgelistet; weitere Informationen  sind  auf  den  verschiedenen
       Handbuchseiten verfügbar.

       Ein  Datenstrom  wird  mit  einer  externen Datei (die ein physikalisches Gerät sein kann)
       verbunden, indem eine Datei geöffnet wird, was das Erzeugen einer neuen Datei  beinhaltet.
       Eine  bestehende  Datei  zu  erzeugen,  verwirft  ihren  bisherigen Inhalt. Wenn die Datei
       Positionierungsänderungen unterstützt (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),  außer  wenn  die  Datei   im
       Anhänge-Modus  geöffnet  wurde.  Im  Anhänge-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)  für  jedes  Zeichen
       einzeln aufgerufen worden wäre. Die Ausgabe erfolgt, als würde jedes Zeichen einzeln durch
       die Funktion fputc(3) geschrieben.

       Eine Datei wird von einem Datenstrom durch Schließen der Datei gelöst.  Ausgabedatenströme
       werden  geleert  (noch  nicht  geschriebener Pufferinhalt wird auf den Rechner übertragen)
       bevor der Datenstrom von der Datei getrennt wird. Der Wert  eines  Zeigers  auf  ein  FILE
       Objekt ist nicht mehr gültig, nachdem die Datei geschlossen wurde (Müll).

       Eine  Datei kann nachfolgend durch das selbe oder ein anderes Programm wieder geöffnet und
       ihr  Inhalt  zurückgelesen   oder   verändert   werden   (falls   sie   auf   den   Anfang
       zurückpositioniert  werden  kann).  Wenn  die  Hauptfunktion  zum ursprünglich Aufrufenden
       zurückkehrt oder die Funktion exit(3) aufgerufen wird, werden  alle  offenen  Dateien  vor
       Programmende  geschlossen  (nachdem  alle  Ausgabedatenströme  herausgeschrieben  wurden).
       Andere Methoden zur Beendigung von Programmen, wie abort(3), kümmern  sich  nicht  um  das
       korrekte Schließen von Dateien.

       Bei  Programmstart  sind  drei  Textdatenströme  vordefiniert  und brauchen nicht explizit
       geöffnet zu werden: Standardeingabe (zum Lesen konventioneller  Eingabe),  Standardausgabe
       (zum  Schreiben  konventioneller  Ausgabe)  und  Standardfehlerausgabe  (zum Schreiben der
       Diagnoseausgabe). Diese Datenströme werden abgekürzt durch stdin,stdout  und  stderr.  Der
       Datenstrom  der  Standardfehlerausgabe  ist  nicht vollständig gepuffert, wenn er geöffnet
       ist; die Datenströme der Standardein- und -ausgabe sind nur  dann  vollständig  gepuffert,
       wenn die Datenströme nicht auf ein interaktives Gerät verweisen.

       Ausgabedatenströme,  die auf Terminalgeräte verweisen, sind standardmäßig zeilengepuffert.
       Noch ausstehende Ausgaben zu solchen Datenströmen  werden  automatisch  geschrieben,  wann
       immer  aus  einem  Eingabedatenstrom gelesen wird, der sich auf ein Terminalgerät 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  ÜBERSICHT  der  folgenden
       Handbuchseiten  zeigen,  welche  Include-Dateien zu benutzen sind, wie die Deklaration für
       die Funktion aussieht und welche externen Variablen interessant sind.

       Die folgenden Namen sind als Makros definiert. Sie dürfen 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 prüfen und zurücksetzen
       fclose        Datenstrom schließen
       fdopen        Funktionen zum Öffnen eines Datenstroms
       feof          Status des Datenstroms prüfen und zurücksetzen
       ferror        Status des Datenstroms prüfen und zurücksetzen
       fflush        Datenstrom herausschreiben
       fgetc         nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       fgetpos       einen Datenstrom neu positionieren
       fgets         eine Zeile aus dem Datenstrom einlesen
       fileno        den Ganzzahldeskriptor eines Argumentdatenstroms zurückgeben
       fopen         Funktionen zum Öffnen eines Datenstroms
       fprintf       formatierte Ausgabeumwandlung
       fpurge        Datenstrom herausschreiben
       fputc         ein Zeichen oder Wort in einen Datenstrom ausgeben
       fputs         eine Zeile in einen Datenstrom ausgeben
       fread         binäre Datenstromein-/-ausgabe
       freopen       Funktionen zum Öffnen eines Datenstroms
       fscanf        formatbasierte Eingabeumwandlung
       fseek         einen Datenstrom neu positionieren
       fsetpos       einen Datenstrom neu positionieren
       ftell         einen Datenstrom neu positionieren
       fwrite        binäre Datenstromein-/-ausgabe
       getc          nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       getchar       nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       gets          eine Zeile aus dem Datenstrom einlesen
       getw          nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       mktemp        einen (eindeutigen) temporären 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 löschen
       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 für temporäre Dateien
       tmpfile       Routinen für temporäre Dateien
       tmpnam        Routinen für temporäre Dateien
       ungetc        Zeichen zurück 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 zu C89 konform.

SIEHE AUCH

       close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde  von  Patrick  Rother  <krd@gulu.net>,
       Chris  Leick  <c.leick@vollbio.de>  und  Mario  Blättermann <mario.blaettermann@gmail.com>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                        26. Dezember 2001                                STDIO(3)