Man Linux: Main Page and Category List

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  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(), fsetpos(), or rewind()) discards
       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  reading  or  discarding  all pushed-back characters 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.

SEE ALSO

       fseek() ,  fsetpos()  ,  read()  ,  rewind()  ,  setbuf()  ,  the  Base
       Definitions volume of IEEE Std 1003.1-2001, <stdio.h>, <wchar.h>

COPYRIGHT

       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .