std::clearerr
From cppreference.com
| Defined in header <cstdio>
|
||
void clearerr( std::FILE* stream );
|
||
Resets the error flags and the EOF indicator for the given file stream.
Parameters
| stream | - | the file to reset the error flags for |
Return value
(none)
Example
Run this code
#include <cassert>
#include <cstdio>
int main()
{
std::FILE* tmpf = std::tmpfile();
std::fputs("cppreference.com\n", tmpf);
std::rewind(tmpf);
for (int ch; (ch = std::fgetc(tmpf)) != EOF; std::putchar(ch)) { }
assert(std::feof(tmpf)); // the loop is expected to terminate by EOF
std::puts("End of file reached");
std::clearerr(tmpf); // clear EOF
std::puts(std::feof(tmpf) ? "EOF indicator set"
: "EOF indicator cleared");
}
Output:
cppreference.com
End of file reached
EOF indicator cleared
See also
| checks for the end-of-file (function) | |
| displays a character string corresponding of the current error to stderr (function) | |
| checks for a file error (function) | |
C documentation for clearerr
| |