Provided by: manpages-de-dev_4.15.0-9_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  5.13  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.

                                          22. März 2021                                  STDIO(3)