Aracılığıyla paylaş


clearerr

Akış için hata göstergesini sıfırlar. Bu işlevin daha güvenli bir sürümü kullanılabilir; bkz clearerr_s. .

Sözdizimi

void clearerr(
   FILE *stream
);

Parametreler

stream
Yapı işaretçisi FILE .

Açıklamalar

clearerr işlevi için streamhata göstergesini ve dosya sonu göstergesini sıfırlar. Hata göstergeleri otomatik olarak temizlenmemiştir; Belirtilen akışın hata göstergesi ayarlandıktan sonra, bu akış üzerindeki işlemler , , fseekfsetposveya rewind çağrılana kadar clearerrhata 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ür. ve hata kodları hakkında errno daha fazla bilgi için bkz errno . sabitler.

Bu işlevin daha güvenli bir sürümü kullanılabilir; bkz clearerr_s. .

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 <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Girdi

n

Çıktı

Write error: No error
Will input cause an error? n
No read error

Ayrıca bkz.

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