ungetc(3S) ungetc(3S)
NAME
ungetc, ungetwc - Zeichen in Eingabestrom zurückstellen
SYNTAX
#include <stdio.h>
int ungetc(int c, FILE *stream);
cc [option ...] datei ... -lw [bibliothek ...]
#include <stdio.h>
#include <wchar.h>
wintt ungetwc(wintt wc, FILE *stream);
BESCHREIBUNG
ungetc() schreibt das Zeichen c (umgeformt zu einem unsigned char) in
den Puffer zurück, der dem Eingabestrom zugeordnet ist, auf den stream
zeigt.
ungetwc() schreibt einen Wide-Character wc in den Puffer zurück. Diese
Zeichen werden dann vom nächsten getc(3S)- oder getwc(3S)-Aufruf für
stream wieder zurückgegeben. ungetc() gibt als Ergebnis c zurück;
ungetwc() liefert wc; die zu stream gehörende Datei bleibt unverän-
dert.
Ein erfolgreicher Aufruf von ungetc() oder ungetwc() löscht die EOF-
Anzeige des Eingabe-Streams.
Für ungetc() wird Speicherplatz für ein zurückgestelltes Zeichen
garantiert, für ungetwc() wird ein zurückgegebener Wide-Character
garantiert.
Der Wert des Datei-Positionsanzeigers für stream wird nach dem Lesen
oder Ablegen aller rückgeführten Bytes der gleiche sein, wie zu dem
Zeitpunkt, bevor die Bytes zurückgeführt wurden. Der Datei-Positions-
anzeiger wird bei jedem erfolgreichen Aufruf von ungetc() verringert.
Wenn sein Wert vor dem Aufruf bereits 0 ist, ist der Wert nach dem
Aufruf unbestimmt.
Wenn c gleich EOF ist, schreibt ungetc() nicht in den Puffer und gibt
EOF zurück. Entspricht der Wert von wc dem des Makros WEOF, wird kein
Wide-Character in den Puffer zurückgeschrieben.
fseek(), rewind() [beide unter fseek(3S)] beschreiben und setpos()
löscht den Speicherplatz für zurückgestellte Zeichen auf den Streams,
auf denen sie angewendet werden.
Wenn ungetc() oder ungetwc() zu oft für denselben Strom aufgerufen
werden, ohne daß zwischenzeitlich eine Lese- oder Dateizeiger-Opera-
tion ausgeführt wird, scheitern die Funktionen.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ungetc(3S) ungetc(3S)
ERGEBNIS
ungetc() gibt EOF zurück, wenn das Zeichen nicht zurückgestellt werden
kann.
ungetwc() gibt WEOF zurück, wenn der Wide-Character nicht zurückge-
stellt werden kann.
Wenn die Zeichen zurückgestellt wurden, werden diese Zeichen selber,
nach der Konvertierung, zurückgegeben.
SIEHE AUCH
read(2), fsetpos(3C), fgetwc(3S), fseek(3S), getc(3S), rewind(3S),
setbuf(3S), stdio(3S), wchar(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98