ferror
Tests for an error on a stream.
Syntax
int ferror(
FILE *stream
);
Parameters
stream
Pointer to FILE
structure.
Return value
If no error has occurred on stream
, ferror
returns 0. Otherwise, it returns a nonzero value. If stream is NULL
, ferror
invokes the invalid parameter handler, as described in Parameter validation. If execution is allowed to continue, this function sets errno
to EINVAL
and returns 0.
For more information about return codes, see errno
, _doserrno
, _sys_errlist
, and _sys_nerr
.
Remarks
The ferror
routine (implemented both as a function and as a macro) tests for a reading or writing error on the file associated with stream
. If an error has occurred, the error indicator for the stream remains set until the stream is closed or rewound, or until clearerr
is called against it.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Requirements
Function | Required header |
---|---|
ferror |
<stdio.h> |
For more compatibility information, see Compatibility.
Example
See the example for feof
.
See also
Error handling
Stream I/O
clearerr
_eof
feof
fopen
, _wfopen
perror
, _wperror