UNGETWC(3C)UNGETWC(3C)NAMEungetwc - push wide-character code back into input stream
wint_t ungetwc(wint_t wc, FILE *stream);
The ungetwc() function pushes the character corresponding to the wide
character code specified by wc back onto the input stream pointed to by
stream. The pushed-back characters will be returned by subsequent reads
on that stream in the reverse order of their pushing. A successful
intervening call (with the stream pointed to by stream) to a file-posi‐
tioning function ( fseek(3C), fsetpos(3C) or rewind(3C)) discards any
pushed-back characters for the stream. The external storage correspond‐
ing to the stream is unchanged.
One character of push-back is guaranteed. If ungetwc() is called too
many times on the same stream without an intervening read or file-posi‐
tioning operation on that stream, the operation may fail.
If the value of wc equals that of the macro WEOF, the operation fails
and the input stream is unchanged.
A successful call to ungetwc() clears the end-of-file indicator for the
stream. The value of the file-position indicator for the stream after
reading or discarding all pushed-back characters will be the same as it
was before the characters were pushed back. The file-position indicator
is decremented (by one or more) by each successful call to ungetwc();
if its value was 0 before a call, its value is indeterminate after the
Upon successful completion, ungetwc() returns the wide-character code
corresponding to the pushed-back character. Otherwise it returns WEOF.
The ungetwc() function may fail if:
An invalid character sequence is detected, or a wide-charac‐
ter code does not correspond to a valid character.
See attributes(5) for descriptions of the following attributes:
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
│Interface Stability │ Standard │
│MT-Level │ MT-Safe │
SEE ALSOread(2), fseek(3C), fsetpos(3C), rewind(3C), setbuf(3C), attributes(5),
Aug 14, 2002 UNGETWC(3C)