fgetc






fgetc, fgets, getc, getchar, ungetc − input of characters
and strings


#include<stdio.h>

     );int fgetc(FILE *stream

     , int char *fgets(char *s

     );int getc(FILE *stream

     int getchar(void);

     , FILE *int ungetc(int c

reads the next character from stream and returns it as an
unsignedchar cast to an or EOF on end of file or error.

     is equivalent to except that it may be implemented as a
macro which evaluates stream more than once.

     is equivalent to )getc(stdin

     reads in at most one less than size characters from
stream and stores them into the buffer pointed to by Reading
stops after an EOF or a newline.  If a newline is read, it
is stored into the buffer.  A terminating null byte ('\0')
is stored after the last character in the buffer.

     pushes c back to cast to where it is available for
subsequent read operations.  Pushed‐back characters will be
returned in reverse order; only one pushback is guaranteed.

     Calls to the functions described here can be mixed with
each other and with calls to other input functions from the
stdio library for the same input stream.

     For nonlocking counterparts, see

and return the character read as an unsignedchar cast to an
int or EOF on end of file or error.

     returns s on success, and NULL on error or when end of
file occurs while no characters have been read.

     returns c on success, or EOF on error.

For an explanation of the terms used in this section, see














                             ‐2‐


┌──────────────────────────┬───────────────┬─────────┐
│Interface                 Attribute     Value   │
├──────────────────────────┼───────────────┼─────────┤
│                          │ Thread safety MT‐Safe │
└──────────────────────────┴───────────────┴─────────┘


POSIX.1‐2001, POSIX.1‐2008, C89, C99.

     It is not advisable to mix calls to input functions
from the stdio library with low‐level calls to for the file
descriptor associated with the input stream; the results
will be undefined and very probably not what you want.



This page is part of release 5.07 of the Linux man‐pages
project.  A description of the project, information about
reporting bugs, and the latest version of this page, can be
found at https://www.kernel.org/doc/man−pages/.