Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fclose(3S) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

exit(2)

fopen(3S)

setbuf(3S)

stdio(3S)

lfs(5)

stdio(5)

fclose(3S)                                                       fclose(3S)

NAME
     fclose, fflush - Stream schließen oder leeren

SYNTAX
     #include <stdio.h>

     int fclose(FILE *stream);

     int fflush(FILE *stream);

BESCHREIBUNG
     Mit der Funktion fclose() wird der Datenstrom, auf den stream zeigt,
     bereinigt. Die zugeordnete Datei wird geschlossen. Alle gepufferten,
     aber noch nicht geschriebenen Daten für den Stream werden in die Datei
     geschrieben. Alle gepufferten, ungelesenen Daten werden entfernt. Die
     Zuordnung zwischen Stream und Datei wird gelöst. Wenn der zugeordnete
     Puffer automatisch zugeordnet wurde, wird diese Zuordnung gelöst. Die
     Felder stctime und stmtime der zugrundeliegenden Datei werden zur
     Aktualisierung gekennzeichnet, wenn in den Stream geschrieben werden
     konnte, gepufferte Daten aber noch nicht in die Datei geschrieben wur-
     den. Die Funktion fclose() führt close() für den Dateideskriptor
     durch, der dem Stream zugeordnet ist, auf den stream zeigt.

     Nach dem Aufruf von fclose() ist das Verhalten von stream undefiniert.

     Wenn stream auf einen Ausgabe- oder Aktualisierungsstream zeigt, auf
     dem die letzte Operation keine Eingabeoperation war, bewirkt fflush(),
     daß gepufferte Daten für den stream, in die Datei geschrieben werden.
     Die stctime- und stmtime-Felder der zugrundeliegenden Datei werden
     für die Aktualisierung markiert.

     Beim Aufruf von fflush(), wenn stream ein Nullzeiger ist, werden bei
     allen zum Schreiben geöffneten Dateien die Puffer geleert.

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     Die Funktion fclose() bzw. fflush() schlägt fehl, wenn:

     EAGAIN    Das Flag ONONBLOCK für den Dateideskriptor, der stream
               zugrundeliegt, ist gesetzt, und der Prozeß wurde beim
               Schreibvorgang verzögert.

     EBADF     Der Dateideskriptor, der stream zugrundeliegt, ist kein gül-
               tiger Dateideskriptor, der zum Schreiben geöffnet ist.

     EFBIG     Es wurde versucht, in eine Datei zu schreiben, deren Größe
               die maximale Dateigröße oder die maximale Dateigröße des
               Prozesses überschreitet.




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fclose(3S)                                                       fclose(3S)

     EFBIG     Die Datei ist eine reguläre Datei, und es wurde versucht,
               bis hin oder über den maximalen Offset hinaus zu schreiben,
               der dem entsprechenden Datenstrom zugeordnet ist.

     EINTR     Die Funktion wurde infolge eines Signals unterbrochen.

     EIO       Der Prozeß gehört zu einer Hintergrundprozeßgruppe, welche
               auf das kontrollierende Terminal zu schreiben versucht.
               TOSTOP ist gesetzt, weder ignoriert noch blockiert der Pro-
               zeß SIGTTOU, und die Prozeßgruppe des Prozesses ist ver-
               waist. Dieser Fehler kann auch unter implementationsabhängi-
               gen Bedingungen gemeldet werden.

     ENOSPC    Es war kein freier Platz auf dem Gerät, das die Datei ent-
               hält, mehr übrig.

     EPIPE     Es wurde versucht, auf eine Pipe oder FIFO zu schreiben, die
               für keinen Prozeß leseberechtigt ist. Es wird auch ein Sig-
               nal SIGPIPE zum Prozeß gesendet.

     Die Funktion fclose() bzw. fflush() kann fehlschlagen, falls:

     ENXIO     Es wurde eine Anforderung an ein nicht-existierendes Gerät
               gemacht bzw. die Anforderung ist außerhalb der Möglichkeiten
               des Geräts.

ERGEBNIS
     Bei erfolgreicher Beendigung geben diese Funktionen den Wert 0 zurück.
     Sonst wird EOF zurückgegeben und errno gesetzt, um den Fehler anzuzei-
     gen.

SIEHE AUCH
     close(2), exit(2), fopen(3S), setbuf(3S), stdio(3S), lfs(5), stdio(5).





















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026