共用方式為


clearerr_s

重設資料流的錯誤指示器。 這是 clearerr 的安全性強化版本,如 CRT 中的安全性功能 所述。

errno_t clearerr_s(
   FILE *stream 
);

參數

  • stream
    指向 FILE 結構的指標

傳回值

零,如果成功; EINVAL ,如果 stream 是空的。

備註

clearerr_s 函式會將錯誤指示器和檔案結尾標記的 stream。 不會自動清除錯誤指示器;一次指定的資料流的錯誤指示器設定,該資料流的作業繼續之前傳回 clearerr_s, clearerr, 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();
      }
   }
}
  nnWrite

FakePre-a9c8b49bdd374cf5b6fefd4c97c9e289-0864bdf4325846be9e3a16b15bb9c799

.NET Framework 對等用法

不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例

請參閱

參考

錯誤處理 (CRT)

資料流 I/O

clearerr

_eof

feof

ferror

perror、_wperror