Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

lseek(2)

open(2)

pipe(2)

read(2)

write(2)

ctermid(3S)

cuserid(3S)

fclose(3S)

ferror(3S)

fopen(3S)

fread(3S)

fseek(3S)

getc(3S)

gets(3S)

popen(3S)

printf(3S)

putc(3S)

puts(3S)

scanf(3S)

setbuf(3S)

system(3S)

tmpfile(3S)

tmpnam(3S)

ungetc(3S)

unistd(4)

stdio(5)

stdio(3S)                                                         stdio(3S)

NAME
     stdio: stdin, stdout, stderr - Standardbezeichner für gepufferte Ein-
     /Ausgabe-Streams

SYNTAX
     #include <stdio.h>

     FILE *stdin, *stdout, *stderr;

BESCHREIBUNG
     Die im Abschnitt 3S dieses Handbuchs beschriebenen Funktionen stellen
     einen leistungsfähigen E/A-Pufferungsmechanismus auf Benutzerebene
     dar. Die Makros getc() und putc() können Zeichen rasch bearbeiten. Die
     Makros getchar() und putchar() und die Routinen auf höherer Ebene
     fgetc(), fgets(), fprintf(), fputc(), fputs(), fread(), fscanf(),
     fwrite(), gets(), getw(), printf(), puts(), putw() und scanf() verwen-
     den getc() und putc() oder funktionieren so, als ob sie diese verwen-
     den; sie sind beliebig gemischt verwendbar.

     Eine Datei mit zugeordneten E/A-Puffer wird als Stream bezeichnet und
     als Zeiger auf einen vordefinierten Typ FILE vereinbart. fopen()
     erstellt verschiedene Daten für eine solche Datei und gibt einen Zei-
     ger zurück, über den die Datei bei allen weiteren Vorgängen angespro-
     chen wird. Normalerweise gibt es drei offene Dateien mit konstanten
     Dateizeigern, die in der Include-Datei stdio.h definiert und den Stan-
     darddateien zugeordnet sind:

     stdin               Standardeingabe

     stdout              Standardausgabe

     stderr              Standardfehlerausgabe

     Die folgenden symbolischen Werte in unistd.h definieren die Dateide-
     skriptoren, die mit stdin, stdout und stderr der Sprache C verbunden
     werden, wenn das Anwendungsprogramm gestartet wird:

     STDINFILENO        Standardeingabe-Wert, stdin (0).

     STDOUTFILENO       Standardausgabe-Wert, stdout (1).

     STDERRFILENO       Standardfehler-Wert, stderr (2).

     Eine Konstante NULL bezeichnet einen Nullzeiger.

     Eine ganzzahlige Konstante EOF (-1) wird von den meisten ganzzahligen
     Funktionen, die mit Dateizeigern arbeiten, bei einem Dateiende oder
     einem Fehler ausgegeben (siehe Details in den Einzelbeschreibungen).

     Eine ganzzahlige Konstante BUFSIZ gibt die Größe der Puffer an, die
     für die jeweilige Implementierung definiert ist.




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

stdio(3S)                                                         stdio(3S)

     Eine ganzzahlige Konstante FILENAMEMAX gibt die Größe für ein char-
     Feld an, das den längsten Pfadnamen, der in der Implementierung geöff-
     net werden kann, aufnehmen kann.

     Eine ganzzahlige Konstante FOPENMAX gibt die Mindestanzahl von
     Dateien an, von denen die Implementierung garantiert, daß sie gleich-
     zeitig geöffnet werden können. Beachten Sie, daß nicht mehr als 255
     Dateien mit fopen() geöffnet werden können, und daß nur Dateideskrip-
     toren zwischen 0 und 255 gültig sind.

     Jedes mit diesem Paket arbeitende Programm muß die Include-Datei mit
     den notwendigen Makrodefinitionen wie folgt verwenden:

          #include <stdio.h>

     Die mit (3S) markierten Funktionen und Konstanten werden in der
     Include-Datei deklariert und benötigen keine weitere Deklaration. Die
     Konstanten und nachstehenden "Funktionen" sind als Makros implemen-
     tiert (ein Neudeklarieren dieser Namen ist gefährlich!): getc(),
     getchar(), putc(), putchar(), ferror(), feof(), clearerr() und
     fileno(). Es gibt auch Funktionsversionen von getc(), getchar(),
     putc(), putchar(), ferror(), feof(), clearerr() und fileno().

     Mit Ausnahme der Standardfehlerausgabe stderr wird die Ausgabe stan-
     dardmäßig gepuffert, wenn sie sich auf eine Datei bezieht, und zeilen-
     weise gepuffert, wenn die Ausgabe auf ein Terminal geht. Die Standard-
     fehlerausgabe stderr ist standardmäßig ungepuffert, jedoch kann die
     Pufferung oder die zeilenweise Pufferung mit freopen() [siehe
     fopen(3S)] eingestellt werden. Wenn die Ausgabe ungepuffert ist, wer-
     den die Daten sofort beim Schreiben in die Warteschlange für die Ziel-
     datei oder den Bildschirm gebracht; wenn die Ausgabe gepuffert ist,
     werden Zeichen gespeichert und dann als Block geschrieben. Wenn die
     Ausgabe zeilenweise gepuffert ist, wird jede Ausgabezeile in die War-
     teschlange des zugeordnete Bildschirms eingetragen, und sobald die
     Zeile beendet ist (d. h., sobald ein Neue-Zeile-Zeichen geschrieben
     oder Eingabe vom Terminal angefordert wird) ausgegeben. setbuf() oder
     setvbuf() (beide in setbuf(3S) beschrieben) können die Pufferungsstra-
     tegie einer Datei ändern.

ERGEBNIS
     Ungültige Dateizeiger können möglicherweise zu einem Programmabbruch
     führen. Eine genauere Erläuterung der möglichen Fehlerbedingungen ist
     bei den einzelnen Funktionsbeschreibungen zu finden.

SIEHE AUCH
     close(2), lseek(2), open(2), pipe(2), read(2), write(2), ctermid(3S),
     cuserid(3S), fclose(3S), ferror(3S), fopen(3S), fread(3S), fseek(3S),
     getc(3S), gets(3S), popen(3S), printf(3S), putc(3S), puts(3S),
     scanf(3S), setbuf(3S), system(3S), tmpfile(3S), tmpnam(3S),
     ungetc(3S), unistd(4), stdio(5).




Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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