C programming stdio.h function - void clearerr(FILE *stream)
In C programming, the stdio.h
header file provides a set of functions for performing input and output operations on streams of data. One of the functions in this header file is clearerr()
, which clears the end-of-file and error indicators for a given file stream.
The clearerr()
function takes one argument:
void clearerr(FILE *stream);ecruoS:www.theitroad.com
The argument, stream
, is a pointer to a FILE
object that represents the file stream to be cleared.
The clearerr()
function clears the end-of-file and error indicators for the specified file stream, making it ready for further I/O operations. This is useful when you want to check for errors on a file stream that has already had an error or end-of-file condition.
Here's an example of how to use clearerr()
to clear the error and end-of-file indicators on a file stream:
#include <stdio.h> int main() { FILE *fp; fp = fopen("example.txt", "r"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } /* Perform some I/O operations on the file stream */ if (feof(fp)) { printf("End of file reached.\n"); clearerr(fp); } if (ferror(fp)) { printf("Error occurred.\n"); clearerr(fp); } /* Perform more I/O operations on the file stream */ fclose(fp); return 0; }
In the above example, the fopen()
function is used to open a file named "example.txt" in read mode. The feof()
and ferror()
functions are then used to check for end-of-file and error conditions on the file stream. If either condition is true, the clearerr()
function is called to clear the indicators, and allow for further I/O operations on the file stream.