Ein C-Programm kann SYSDTA folgendermaßen verwenden:
Mit einer Eröffnungsfunktion (
fopen
/fopen64
,freopen
/freopen64
,open
/open64
) wird eine Datei mit dem Namen "(SYSDTA)" oder "(SYSTERM)" zum Lesen geöffnet. Der von der Eröffnungsfunktion gelieferte Dateizeiger dient dann als Argument einer anschließenden Eingabefunktion.Beispiel
FILE *fp; fp = fopen("(SYSDTA)", "r"); fgetc(fp);
Bei Eingabefunktionen wird als Dateiargument der Dateizeiger
stdin
bzw. die Dateikennzahl 0 angegeben.Beispiele
fgetc(stdin);
read(0, buf, n);
Es werden Eingabefunktionen benutzt, die standardmäßig von
stdin
lesen (z.B.scanf
,getchar
,gets
).
Soll die Eingabe nicht von der Datensichtstation, sondern aus einer katalogisierten Datei erfolgen, kann dies auf zweierlei Weise geschehen:
Wurde mit PARAMETER-PROMPTING=YES (in der Compiler-Option RUNTIME-OPTIONS) eine Parameterzeile angefordert, kann in dieser Parameterzeile die Standardeingabe (Dateizeiger
stdin
bzw. Dateikennzahl 0) auf eine katalogisierte Datei umgewiesen werden. Siehe auch C- und C++-Benutzerhandbücher.Diese Umweisung wirkt sich nicht auf Dateien aus, die mit dem Namen "(SYSDTA)" bzw. "(SYSTERM)" eröffnet werden. Die Eingabe aus Dateien dieses Namens wird nach wie vor von der Datensichtstation erwartet.
Vor Programmstart mit dem Kommando ASSIGN-SYSDTA dateiname.
Bei allen Eingabefunktionen werden die Eingabedaten dann aus der zugewiesenen Datei erwartet.
Bei der Zuweisung mit dem ASSIGN-SYSDTA-Kommando ist Folgendes zu beachten:
Nach Programmablauf steht der interne Satzzeiger hinter dem zuletzt gelesenen Satz bzw. auf Dateiende. Soll die Datei in einem weiteren Programmlauf wieder ab Dateianfang eingelesen werden, muss vor dem Programmstart ein neues ASSIGN-SYSDTA-Kommando abgesetzt werden.
Wurde PARAMETER-PROMPTING=YES (in der RUNTIME-OPTIONS-Option) gewählt, so wird der erste Satz der zugewiesenen Datei als Parameterzeile für die
main
-Funktion interpretiert.
Hinweis
Ist im C-Programm kein anderes Endekriterium vereinbart, lässt sich die EOF- bzw. WEOF-Bedingung bei Eingaben an der Datensichtstation folgendermaßen erreichen: K2-Taste drücken und die Kommandos EOF und RESUME-PROGRAM eingeben.