Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ungetc(3C)		 Standard C Library Functions		    ungetc(3C)

NAME
       ungetc -	push byte back into input stream

SYNOPSIS
       #include	<stdio.h>

       int ungetc(int c, FILE *stream);

DESCRIPTION
       The  ungetc()  function pushes the byte specified by c (converted to an
       unsigned	char) back onto	the input stream pointed  to  by  stream.  The
       pushed-back  bytes  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-positioning function (
       fseek(3C), fsetpos(3C) or rewind(3C)) discards  any  pushed-back	 bytes
       for the stream. The external storage corresponding to the stream	is un-
       changed.

       Four bytes of push-back are guaranteed.	If ungetc() is called too many
       times  on the same stream without an intervening	read or	file-position-
       ing operation on	that stream, the operation may fail.

       If the value of c equals	that of	the macro EOF, the operation fails and
       the input stream	is unchanged.

       A  successful call to ungetc() 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 bytes will be the	same as	it was
       before the bytes	were  pushed  back.  The  file-position	 indicator  is
       decremented by each successful call to ungetc();	if its value was 0 be-
       fore a call, its	value is indeterminate after the call.

RETURN VALUES
       Upon successful completion, ungetc() returns the	byte pushed back after
       conversion.  Otherwise it returns EOF.

ERRORS
       No errors are defined.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |MT-Safe			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       read(2),	intro(3), __fsetlocking(3C), fseek(3C),	fsetpos(3C), getc(3C),
       setbuf(3C), stdio(3C), attributes(5), standards(5)

SunOS 5.10			  10 Sep 2003			    ungetc(3C)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ungetc&sektion=3c&manpath=SunOS+5.10>

home | help