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 stream
hata 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 , , fseek
fsetpos
veya rewind
çağrılana kadar clearerr
hata değeri döndürmeye devam ediyor.
ise stream
NULL
, 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