HP-UX Reference (11i v1 00/12) - 3 Library Functions A-M (vol 6)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/!!!intro.3c
________________________________________________________________
___ ___
f
ferror(3S) ferror(3S)
NAME
ferror(), feof(), clearerr() - 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 non-zero 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 non-zero when EOF has previously been detected reading the named input stream,
otherwise zero.
clearerr() Resets the error indicator andEOF indicator on the named stream to zero.
Obsolescent Interfaces
ferror_unlocked(),
feof_unlocked(), and clearerr_unlocked()
stream status inquiries.
APPLICATION USAGE
feof(), ferror() and clearerr() are thread-safe. These interfaces are not async-cancel-safe.
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).
HP-UX Release 11i: December 2000 − 1 − Section 3−−227
___
___