clearerr
ストリームのエラー インジケーターをリセットします。 この関数のセキュリティが強化されたバージョンについては、「clearerr_s
」を参照してください。
構文
void clearerr(
FILE *stream
);
パラメーター
stream
FILE
構造体へのポインター。
注釈
clearerr
関数は、stream
のエラー インジケーターとファイルの終わりインジケーターをリセットします。 エラー インジケーターは自動的にクリアされません。指定したストリームのエラー インジケーターが設定されると、そのストリームに対する操作は、エラー値clearerr
を返し続けます 。、fseek
またはfsetpos
rewind
呼び出されるまでです。
ある場合 stream
は NULL
、「パラメーターの検証」の説明に従って、無効な パラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno
を EINVAL
に設定し、値を返します。 エラー コードのerrno
詳細については、定数を参照してくださいerrno
。
この関数のセキュリティが強化されたバージョンについては、「clearerr_s
」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「 CRT のグローバル状態」を参照してください。
必要条件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
clearerr |
<stdio.h> |
互換性について詳しくは、「 Compatibility」をご覧ください。
例
// 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" );
}
入力
n
出力
Write error: No error
Will input cause an error? n
No read error