# ungetwc

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           ungetwc — push wide-character code back into the input stream
    


## SYNOPSIS



           #include <stdio.h>
           #include <wchar.h>
    
           wint_t ungetwc(wint_t _wc_ , FILE *_stream_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           The _ungetwc_() function shall push the character corresponding to
           the wide-character code specified by _wc_ back onto the input stream
           pointed to by _stream_.  The pushed-back characters shall 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-positioning function (_fseek_(),
           _fseeko_(), _fsetpos_(), or _rewind_()) or _fflush_() shall discard any
           pushed-back characters for the stream. The external storage
           corresponding to the stream is unchanged.
    
           At least one character of push-back shall be provided. If
           _ungetwc_() is called too many times on the same stream without an
           intervening read or file-positioning operation on that stream, the
           operation may fail.
    
           If the value of _wc_ equals that of the macro WEOF, the operation
           shall fail and the input stream shall be left unchanged.
    
           A successful call to _ungetwc_() shall clear the end-of-file
           indicator for the stream. The value of the file-position indicator
           for the stream after all pushed-back characters have been read, or
           discarded by calling _fseek_(), _fseeko_(), _fsetpos_(), or _rewind_()
           (but not _fflush_()), shall 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 unspecified after
           the call.
    


## RETURN VALUE



           Upon successful completion, _ungetwc_() shall return the wide-
           character code corresponding to the pushed-back character.
           Otherwise, it shall return WEOF.
    


## ERRORS



           The _ungetwc_() function may fail if:
    
           **EILSEQ** An invalid character sequence is detected, or a wide-
                  character code does not correspond to a valid character.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *