clearerr, feof, ferror, fileno - check and reset stream status
#include <stdio.h>
void clearerr(FILE *stream);
int feof(FILE *stream);
int ferror(FILE *stream);
int fileno(FILE *stream);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
fileno(): _POSIX_C_SOURCE
The function
clearerr() clears the end-of-file and error indicators for
the stream pointed to by
stream.
The function
feof() tests the end-of-file indicator for the stream
pointed to by
stream, returning nonzero if it is set. The end-of-file
indicator can be cleared only by the function
clearerr().
The function
ferror() tests the error indicator for the stream pointed to
by
stream, returning nonzero if it is set. The error indicator can be
reset only by the
clearerr() function.
The function
fileno() examines the argument
stream and returns the
integer file descriptor used to implement this stream. The file descriptor is
still owned by
stream and will be closed when
fclose(3) is
called. Duplicate the file descriptor with
dup(2) before passing it to
code that might close it.
For nonlocking counterparts, see
unlocked_stdio(3).
These functions should not fail and do not set the external variable
errno. (However, in case
fileno() detects that its argument is
not a valid stream, it must return -1 and set
errno to
EBADF.)
For an explanation of the terms used in this section, see
attributes(7).
Interface |
Attribute |
Value |
clearerr (), feof (), ferror (), fileno () |
Thread safety |
MT-Safe |
The functions
clearerr(),
feof(), and
ferror() conform to
C89, C99, POSIX.1-2001, and POSIX.1-2008.
The function
fileno() conforms to POSIX.1-2001 and POSIX.1-2008.
open(2),
fdopen(3),
stdio(3),
unlocked_stdio(3)