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)); // 预期循环以 EOF 终止 std::puts("抵达文件尾"); std::clearerr(tmpf); // 清除 EOF std::puts(std::feof(tmpf) ? "EOF 指示器已设置" : "EOF 指示器已清除"); }
输出:
cppreference.com 抵达文件尾 EOF 指示器已清除
参阅
检查文件尾 (函数) | |
显示对应当前错误的字符串于 stderr (函数) | |
检查文件错误 (函数) |