ungetwc(3C)
NAME
ungetwc(), ungetwc_unlocked() − push a wide character back into an input stream
SYNOPSIS
#include <wchar.h>
wint_t ungetwc(wint_t wc, FILE *stream);
wint_t ungetwc_unlocked(wint_t wc, FILE *stream);
Remarks:
This function is compliant with the XPG4 Worldwide Portability Interface wide-character I/O functions. It parallels the 8-bit character I/O function defined in ungetc(3S).
DESCRIPTION
ungetwc() pushes the character corresponding to the wide-character code wc into the buffer associated with an input stream. That wide-character code, wc, is returned by the next call to getwc() (see getwc(3C)) on that stream. A successful intervening call to a file positioning function with stream (fseek(), fsetpos(), or rewind()) erases all memory of the pushed-back characters.
ungetwc() affects only the buffer associated with the input stream. It does not affect the contents of the file corresponding to stream.
One character of pushback is guaranteed.
If wc equals WEOF, ungetwc() does nothing to the buffer and returns WEOF.
The definition for this function, the type wint_t and the value WEOF are provided in the <wchar.h> header.
ungetwc_unlocked() is identical to ungetwc() except it does not perform any internal locking of the stream for multi-threaded applications. ungetwc_unlocked() can be used by multi-thread applications which have already used flockfile() to acquire a mutual exclusion lock for the stream (see flockfile(3S)).
EXTERNAL INFLUENCES
Locale
The LC_CTYPE category determines how wide character conversions are done.
International Code Set Support
Single- and multi-byte character code sets are supported.
RETURN VALUE
If successful, ungetwc() and ungetwc_unlocked() return wc and clear the end-of-file indicator for the stream. ungetwc() and ungetwc_unlocked() return WEOF if they cannot insert the wide character.
AUTHOR
ungetwc() and ungetwc_unlocked() were developed by OSF and HP.
SEE ALSO
flockfile(3S), fseek(3S), fsetpos(3S), getwc(3C), setbuf(3S).
STANDARDS CONFORMANCE
ungetwc(): XPG4
Hewlett-Packard Company — HP-UX Release 10.20: July 1996