clearerr
更新 : 2007 年 11 月
ストリームのエラー インジケータをリセットします。この関数のセキュリティが強化されたバージョンについては、「clearerr_s」を参照してください。
void clearerr(
FILE *stream
);
パラメータ
- stream
FILE 構造体へのポインタ。
解説
clearerr 関数は、stream のエラー インジケータおよび EOF (end-of-file) インジケータをリセットします。エラー インジケータは自動的にクリアされないため、指定されたストリームのエラー インジケータが設定されると、そのストリームに対する操作は、clearerr、fseek、fsetpos、または rewind のいずれかが呼び出されるまでエラー値を返し続けます。
stream が NULL の場合は、「パラメータの検証」に説明されているように、無効なパラメータ ハンドラが呼び出されます。実行の継続が許可された場合、この関数は errno を EINVAL に設定し、戻ります。errno とエラー コードの詳細については、「errno 定数」を参照してください。
この関数のセキュリティが強化されたバージョンを使用できるようになりました。「clearerr_s」を参照してください。
必要条件
ルーチン |
必須ヘッダー |
---|---|
clearerr |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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
.NET Framework の相当するアイテム
適用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。