NAME
ferror(), feof(), clearerr(), ferror_unlocked(), feof_unlocked(), clearerr_unlocked() — stream status inquiries
SYNOPSIS
#include <stdio.h>
int ferror(FILE *stream);
int feof(FILE *stream);
void clearerr(FILE *stream);
Obsolescent Interfaces
int ferror_unlocked(FILE *stream);
int feof_unlocked(FILE *stream);
void clearerr_unlocked(FILE *stream);
DESCRIPTION
- ferror()
Returns nonzero when an I/O error
has previously occurred reading from or writing to the named
stream,
otherwise zero.
Unless cleared by
clearerr(),
or unless the specific
stdio
routine so indicates,
the error indication lasts until the stream is closed.
- feof()
Returns nonzero
when EOF has previously been detected reading the named input
stream,
otherwise zero.
- clearerr()
Resets the error indicator and EOF indicator on the named
stream
to zero.
Obsolescent Interfaces
ferror_unlocked(),
feof_unlocked(),
and
clearerr_unlocked()
stream status inquiries.
WARNINGS
All these routines are implemented
both as library functions and as macros.
The macro versions, which are used by default, are defined in
<stdio.h>.
To obtain the library function, either use a
#undef
to remove the macro definition or, if compiling in ANSI-C mode,
enclose the function name in parentheses
or use the function address.
The following example illustrates each of these methods :
#include <stdio.h>
#undef ferror
...
main()
{
int (*find_error()) ();
...
return_val=ferror(fd);
...
return_val=(feof)(fd1);
...
find_error = feof;
};
Reentrant Interfaces
If
_REENTRANT
is defined before including
<stdio.h>,
the locked versions of the library functions for
ferror(), feof(),
and
clearerr()
are used by default.
ferror_unlocked(),
feof_unlocked(),
and
clearerr_unlocked()
are obsolescent interfaces supported only for compatibility with
existing DCE applications.
New multithreaded applications should use
ferror(),
feof()
and
clearerr().
STANDARDS CONFORMANCE
ferror(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
clearerr(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
feof(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C