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 stream
NULL
.
Açıklamalar
clearerr_s
işlevi için stream
hata 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
, fsetpos
fseek
veya rewind
çağrılana kadar clearerr_s
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ü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