std::clearerr
来自 cppreference.com
定义在头文件 <cstdio> 中 |
||
void clearerr( std::FILE* stream ); |
||
重置给定文件流的错误标志和 EOF
指示符。
内容 |
[编辑] 参数
stream | - | 要重置错误标志的文件 |
[编辑] 返回值
(无)
[编辑] 示例
运行此代码
#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"); }
输出
cppreference.com End of file reached EOF indicator cleared
[编辑] 参见
检查文件末尾 (函数) | |
将当前错误的对应字符字符串显示到 stderr (函数) | |
检查文件错误 (函数) | |
C 文档 for clearerr
|