clearerr_s

重置流的错误指示器。 clearerrCRT 中的安全功能所述)。

errno_t clearerr_s(
   FILE *stream 
);

参数

  • stream
    指向 FILE 结构的指针。

返回值

如果成功则为0;EINVAL如果 stream为 NULL。

备注

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

如果 stream 为 NULL,则将调用无效参数处理程序,如参数验证所述。 如果允许执行继续,则该函数设置 errno 为 EINVAL 并返回 EINVAL。

要求

例程

必需的标头

clearerr_s

<stdio.h>

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

示例

// crt_clearerr_s.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;
   errno_t err;

   // Create an error by writing to standard input.
   putc( 'c', stdin );
   if( ferror( stdin ) )
   {
      perror( "Write error" );
      err = clearerr_s( stdin );
      if (err != 0)
      {
         abort();
      }
   }

   // See if read causes an error.
   printf( "Will input cause an error? " );
   c = getc( stdin );
   if( ferror( stdin ) )
   {
      perror( "Read error" );
      err = clearerr_s( stdin );
      if (err != 0)
      {
         abort();
      }
   }
}
  n

FakePre-24a4d48c2c13479fae4258ebe8a321ea-ff52adfb9b5349b68ba5056b749cd2f1

.NET Framework 等效项

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

请参见

参考

错误处理 (CRT)

流 I/O

clearerr

_eof

feof

ferror

perror、_wperror