Provided by: manpages-de-dev_2.5-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 cc(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(3)      Status des Datenstroms prüfen und zurücksetzen
       fclose(3)        Datenstrom schließen
       fdopen(3)        Funktionen zum Öffnen eines Datenstroms
       feof(3)          Status des Datenstroms prüfen und zurücksetzen
       ferror(3)        Status des Datenstroms prüfen und zurücksetzen
       fflush(3)        Datenstrom herausschreiben
       fgetc(3)         nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       fgetpos(3)       einen Datenstrom neu positionieren
       fgets(3)         eine Zeile aus dem Datenstrom einlesen
       fileno(3)        den Ganzzahldeskriptor eines Argumentdatenstroms zurückgeben
       fopen(3)         Funktionen zum Öffnen eines Datenstroms
       fprintf(3)       formatierte Ausgabeumwandlung
       fpurge(3)        Datenstrom herausschreiben
       fputc(3)         ein Zeichen oder Wort in einen Datenstrom ausgeben
       fputs(3)         eine Zeile in einen Datenstrom ausgeben
       fread(3)         binäre Datenstromein-/-ausgabe
       freopen(3)       Funktionen zum Öffnen eines Datenstroms
       fscanf(3)        formatbasierte Eingabeumwandlung
       fseek(3)         einen Datenstrom neu positionieren
       fsetpos(3)       einen Datenstrom neu positionieren
       ftell(3)         einen Datenstrom neu positionieren
       fwrite(3)        binäre Datenstromein-/-ausgabe
       getc(3)          nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       getchar(3)       nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       gets(3)          eine Zeile aus dem Datenstrom einlesen
       getw(3)          nächstes Zeichen oder Wort aus dem Eingabedatenstrom einlesen
       mktemp(3)        einen (eindeutigen) temporären Dateinamen erzeugen
       perror(3)        Systemfehlermeldungen
       printf(3)        formatierte Ausgabeumwandlung
       putc(3)          ein Zeichen oder Wort in einen Datenstrom ausgeben
       putchar(3)       ein Zeichen oder Wort in einen Datenstrom ausgeben
       puts(3)          eine Zeile in einen Datenstrom ausgeben
       putw(3)          ein Zeichen oder Wort in einen Datenstrom ausgeben
       remove(3)        einen Verzeichniseintrag löschen
       rewind(3)        einen Datenstrom neu positionieren
       scanf(3)         formatbasierte Eingabeumwandlung
       setbuf(3)        Datenstrom-Puffereinstellungen
       setbuffer(3)     Datenstrom-Puffereinstellungen
       setlinebuf(3)    Datenstrom-Puffereinstellungen
       setvbuf(3)       Datenstrom-Puffereinstellungen
       sprintf(3)       formatierte Ausgabeumwandlung
       sscanf(3)        formatbasierte Eingabeumwandlung
       strerror(3)      Systemfehlermeldungen
       sys_errlist(3)   Systemfehlermeldungen
       sys_nerr(3)      Systemfehlermeldungen
       tempnam(3)       Routinen für temporäre Dateien
       tmpfile(3)       Routinen für temporäre Dateien
       tmpnam(3)        Routinen für temporäre Dateien
       ungetc(3)        Zeichen zurück in den Eingabedatenstrom geben
       vfprintf(3)      formatierte Ausgabeumwandlung
       vfscanf(3)       formatbasierte Eingabeumwandlung
       vprintf(3)       formatierte Ausgabeumwandlung
       vscanf(3)        formatbasierte Eingabeumwandlung
       vsprintf(3)      formatierte Ausgabeumwandlung
       vsscanf(3)       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.15  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 https://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. November 2017                                       STDIO(3)