ferror
From cppreference.com
Defined in header
<stdio.h>
|
||
int ferror( FILE *stream );
|
||
Checks the given stream for errors.
Contents |
[edit] Parameters
stream | - | the file stream to check |
[edit] Return value
nonzero value if the file stream has errors occurred, 0 otherwise
[edit] Example
ferror used in error checking
Run this code
#include <stdio.h> #include <stdlib.h> int main(void) { FILE* tmpf = tmpfile(); fputs("abcde\n", tmpf); rewind(tmpf); int ch; while ((ch=fgetc(tmpf)) != EOF) /* read/print characters including newline */ printf("%c", ch); /* Test reason for reaching EOF. */ if (feof(tmpf)) /* if failure caused by end-of-file condition */ puts("End of file reached successfully"); else if (ferror(tmpf)) /* if failure caused by some other error */ { perror("fgetc()"); fprintf(stderr,"fgetc() failed in file %s at line # %d\n", __FILE__,__LINE__-9); exit(EXIT_FAILURE); } return EXIT_SUCCESS; }
Output:
abcde End of file reached successfully
[edit] See also
clears errors (function) |
|
checks for the end-of-file (function) |
|
displays a character string corresponding of the current error to stderr (function) |
|
C++ documentation for ferror
|