Aracılığıyla paylaş


clearerr_s

Akış için hata göstergesini sıfırlar. Bu işlev, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren bir sürümüdürclearerr.

Sözdizimi

errno_t clearerr_s(
   FILE *stream
);

Parametreler

stream
Yapı işaretçisi FILE

Dönüş değeri

Başarılı olursa sıfır; EINVAL ise streamNULL.

Açıklamalar

clearerr_s işlevi için streamhata göstergesini ve dosya sonu göstergesini sıfırlar. Hata göstergeleri otomatik olarak temizlenmemiştir; Belirtilen bir akışın hata göstergesi ayarlandıktan sonra, bu akış üzerindeki işlemler , , clearerr, fsetposfseekveya rewind çağrılana kadar clearerr_shata değeri döndürmeye devam ediyor.

ise streamNULL, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlev olarak EINVAL ayarlanır errno ve döndürürEINVAL.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
clearerr_s <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// 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();
      }
   }
}

Girdi

n

Çıktı

Write error: Bad file descriptor
Will input cause an error? n

Ayrıca bkz.

Hata işleme
Akış G/Ç
clearerr
_eof
feof
ferror
perror, _wperror