clearerr
函数 <cstdio>
void clearerr ( FILE * stream );
清除错误状态指示
重置流的错误和eof指示符。
当i/o函数因错误或文件已到达末尾而失败时,可以为流设置相应的内部指示符。
通过调用这个函数清除这些指示器的状态,或调用:
fseek,
fsetpos,
rewind或
freopen任何一个。
☲ 参数
stream
指向标识流的
FILE对象的指针。
☉ 返回值
无
☣ 示例
/* writing errors */
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else {
fputc ('x',pFile);
if (ferror (pFile)) {
printf ("Error Writing to myfile.txt\n");
clearerr (pFile);
}
fgetc (pFile);
if (!ferror (pFile))
printf ("No errors reading myfile.txt\n");
fclose (pFile);
}
return 0;
}
|
这个程序打开一个名为myfile.txt的现有文件进行读取,
并在试图写入时导致I/O错误。该错误使用clearerr清除,因此第二次错误检查返回false。
输出:
Error Writing to myfile.txt
No errors reading myfile.txt
🍄 另请参阅
feof |
检查文件结束标志符(function ) |
ferror |
检查错误标志器(function ) |
rewind |
将流的位置设置为起始位置(function ) |