Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Standard-Ein-/Ausgabeströme

&pagelevel(5)&pagelevel

Beim Programmstart sind drei Datenströme vordefiniert, die also nicht explizit geöffnet werden müssen:

  • Standard-Eingabe, um konventionelle Eingaben zu lesen

  • Standard-Ausgabe, um konventionelle Ausgaben zu schreiben

  • Standard-Fehlerausgabe, um Diagnoseausgaben zu schreiben

Der geöffnete Standard-Fehlerausgabestrom ist nicht voll gepuffert. Die Standard-Ein/-Ausgabeströme sind nur dann voll gepuffert, wenn der Strom nicht mit einem interaktiven Gerät in Verbindung steht. Ansonsten wird zeilenweise gepuffert.

Die Standard-Ein-/Ausgabeströme werden je nach Funktionalität (siehe Abschnitt "Wahl des Dateisystems und der Systemumgebung“) mit POSIX- oder BS2000-Dateien verbunden.

Wenn auf das DVS zugegriffen wird, wird folgende Beziehung hergestellt:

stdin

stdout, stderr

SYSDTA

SYSOUT

In diesem Fall ist das Verhalten kompatibel zu vorhergehenden Versionen der C-Laufzeitbibiliothek (siehe auch Abschnitt "BS2000-Systemdateien“).

Funktionen, die nur POSIX-Funktionalität verwenden, können in diesem Fall nicht auf stdin, stdout oder stderr angewendet werden.

Wenn auf das POSIX-Dateisystem zugegriffen wird, werden die Standard-Ein-/Ausgabe-Ströme in der Regel mit /dev/tty verbunden (siehe auch Abschnitt "Verknüpfung der Ein/Ausgabeströme“).

Im Batch-Modus wird in jedem Fall mit SYSFILE verknüpft, da kein Terminal vorhanden ist. In Sohnprozessen kann auf Ein-/Ausgabe-Ströme, die mit SYSFILE verknüpft wurden, nicht mehr zugegriffen werden, auch wenn die Verknüpfung über POSIX erfolgt ist.

Wird die Verknüpfung der Standard-Ein-/Ausgabeströme durch die Wahl der POSIX-Funktionalität mit der Umgebungsvariablen gesteuert, kann man die Verknüpfung durch Veränderung der Variablen mit putenv() beeinflussen: Wird mit einer exec-Funktion ein Programm neu gestartet, werden bei der C-Laufzeitinitialisierung die Umgebungsvariablen neu ausgewertet und mit dem durch die exec-Funktion gestarteten Programm entsprechend neu verknüpft.