NAME
fgetc, fgets, getc, getchar, ungetc - input of characters and strings
SYNOPSIS
#include <stdio.h> int fgetc(FILE *stream); char *fgets(char *s, int size, FILE *stream); int getc(FILE *stream); int getchar(void); int ungetc(int c, FILE *stream);
DESCRIPTION
fgetc() reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error. getc() is equivalent to fgetc() except that it may be implemented as a macro which evaluates stream more than once. getchar() is equivalent to getc(stdin). fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. 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. ungetc() pushes c back to stream, cast to unsigned char, 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 unlocked_stdio(3).
RETURN VALUE
fgetc(), getc() and getchar() return the character read as an unsigned char cast to an int or EOF on end of file or error. fgets() returns s on success, and NULL on error or when end of file occurs while no characters have been read. ungetc() returns c on success, or EOF on error.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). ┌──────────────────────────┬───────────────┬─────────┐ │Interface │ Attribute │ Value │ ├──────────────────────────┼───────────────┼─────────┤ │fgetc(), fgets(), getc(), │ Thread safety │ MT-Safe │ │getchar(), ungetc() │ │ │ └──────────────────────────┴───────────────┴─────────┘
CONFORMING TO
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 read(2) for the file descriptor associated with the input stream; the results will be undefined and very probably not what you want.
SEE ALSO
read(2), write(2), ferror(3), fgetwc(3), fgetws(3), fopen(3), fread(3), fseek(3), getline(3), gets(3), getwchar(3), puts(3), scanf(3), ungetwc(3), unlocked_stdio(3), feature_test_macros(7)
COLOPHON
This page is part of release 4.09 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/.
More Linux Commands
manpages/tack.1.html
tack(1) - terminfo action checker - Linux manual page.......
The tack program has three purposes: 411toppm(1) to help you build a new terminfo entry describing an unknown terminal, 411toppm(1) to test the correctness of a
manpages/fread.3.html
fread(3) - binary stream input/output - Linux manual page...
The function fread() reads nmemb elements of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr. The fu
manpages/FcFreeTypeCharSet.3.html
FcFreeTypeCharSet(3) - compute unicode coverage (Man Page)
FcFreeTypeCharSet.3 - Scans a FreeType face and returns the set of encoded Unicode chars. This scans several encoding tables to build as complete a list as poss
manpages/pam_setcred.3.html
pam_setcred(3) - establish / delete user credentials........
The pam_setcred function is used to establish, maintain and delete the credentials of a user. It should be called to set the credentials after a user has been a
manpages/Net::LDAP::Extra.3pm.html
Net::LDAP::Extra(3pm) - Load extra Net::LDAP methods........
Net::LDAP::Extra allows extra methods to be added to Net::LDAP. Normally such methods would be added by sub-classing Net::LDAP, but this proves to get messy as
manpages/Tcl_FreeParse.3.html
Tcl_FreeParse(3) - parse Tcl scripts and expressions........
These procedures parse Tcl commands or portions of Tcl commands such as expressions or references to variables. Each procedure takes a pointer to a script (or p
manpages/XDGAKeyEventToXKeyEvent.3.html
XDGAKeyEventToXKeyEvent(3) - Client library for the XFree86-
The XFree86-DGA extension is an X server extension for allowing client programs direct access to the video frame buffer. This is a brief description of the prog
manpages/nop.1.html
nop(1) - pretty-print graph file (Commands - Linux man page)
nop reads a stream of graphs and prints each in pretty-printed (canonical) format on stdout. If no files are given, it reads from stdin. OPTIONS The following o
manpages/html2textrc.5.html
html2textrc(5) formatting properties file for html2text(1)
The html2textrc(5) file defines a set of formatting properties used by the html2text(1) utility, that overrides the programs built-in formatting defaults. Each
manpages/journalctl.1.html
journalctl(1) Query the systemd journal - Linux manual page
journalctl may be used to query the contents of the systemd(1) journal as written by systemd-journald.service(8). If called without parameters, it will show the
manpages/ldap_str2matchingrule.3.html
ldap_str2matchingrule(3) - Schema definition handling routin
These routines are used to parse schema definitions in the syntax defined in RFC 4512 into structs and handle these structs. These routines handle four kinds of
manpages/XtGetConstraintResourceList.3.html
XtGetConstraintResourceList(3) - obtain resource list.......
If XtGetResourceList is called before the widget class is initialized (that is, before the first widget of that class has been created), XtGetResourceList retur
