clearerr_s
Mereset indikator kesalahan untuk aliran. Fungsi ini adalah versi clearerr
dengan peningkatan keamanan seperti yang dijelaskan dalam Fitur keamanan di CRT.
errno_t clearerr_s(
FILE *stream
);
stream
Penunjuk ke FILE
struktur
Nol jika berhasil; EINVAL
jika stream
adalah NULL
.
Fungsi mengatur clearerr_s
ulang indikator kesalahan dan indikator akhir file untuk stream
. Indikator kesalahan tidak dihapus secara otomatis; setelah indikator kesalahan untuk aliran tertentu diatur, operasi pada aliran tersebut terus mengembalikan nilai kesalahan hingga clearerr_s
, , clearerr
fseek
, fsetpos
, atau rewind
dipanggil.
Jika stream
adalah NULL
, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi ini diatur errno
ke EINVAL
dan mengembalikan EINVAL
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Rutin | Header yang diperlukan |
---|---|
clearerr_s |
<stdio.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
// 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();
}
}
}
n
Write error: Bad file descriptor
Will input cause an error? n
Penanganan kesalahan
Streaming I/O
clearerr
_eof
feof
ferror
perror
, _wperror