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)