clearerr

重置流的错误指示器。 提供该函数的一个更安全版本;请参阅 clearerr_s

void clearerr(
   FILE *stream 
);

参数

  • stream
    指向 FILE 结构的指针。

备注

clearerr 函数仅重置错误指示器和文件尾指示符 stream。 不会自动清除错误指示符;一次指定流的错误指示器设置,该流中继续,直到操作返回 clearerrfseek,fsetpos,rewind的错误值,或调用 。

如果 stream 是 NULL,则会调用无效参数处理程序,如 参数验证 中所述。 如果允许执行继续,则该函数将 errno 设置为 EINVAL 并返回。 有关 errno 和错误代码的更多信息,请参见 错误内容

该函数的一个更安全版本可利用;请参阅 clearerr_s

要求

例程

必需的标头

clearerr

<stdio.h>

有关其他兼容性信息,请参见“简介”中的兼容性

示例

// crt_clearerr.c
// This program creates an error
// on the standard input stream, then clears
// it so that future reads won't fail.

#include <stdio.h>

int main( void )
{
   int c;
   // Create an error by writing to standard input.
   putc( 'c', stdin );
   if( ferror( stdin ) )
   {
      perror( "Write error" );
      clearerr( stdin );
   }

   // See if read causes an error.
   printf( "Will input cause an error? " );
   c = getc( stdin );
   if( ferror( stdin ) )
   {
      perror( "Read error" );
      clearerr( stdin );
   }
   else
      printf( "No read error\n" );
}
  n

FakePre-e52db2837be44e178d3ee3949bb47952-6a0d7d5dd2744116b037870a876e2fca

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例

请参见

参考

错误处理 (CRT)

流 I/O

_eof

feof

ferror

perror、_wperror