HP-UX Reference (11i v3 07/02) - 3 Library Functions A-M (vol 6)
f
ferror(3S) ferror(3S)
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 inter-
faces supported only for compatibility with existing DCE applications. New multithreaded applications
should use
ferror(), feof() and clearerr() .
SEE ALSO
open(2), flockfile(3S), fopen(3S), thread_safety(5).
STANDARDS CONFORMANCE
ferror(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
HP-UX 11i Version 3: February 2007 − 1 − Hewlett-Packard Company 431