clearerrclearerr

ストリームのエラー インジケーターをリセットします。Resets the error indicator for a stream. この関数のセキュリティが強化されたバージョンについては、「clearerr_s」を参照してください。A more secure version of this function is available; see clearerr_s.

構文Syntax

void clearerr(
   FILE *stream
);

パラメーターParameters

一連stream
FILE 構造体へのポインター。Pointer to FILE structure.

RemarksRemarks

Clearerr関数は、ストリームのエラーインジケーターとファイルの終端インジケーターをリセットします。The clearerr function resets the error indicator and end-of-file indicator for stream. エラーインジケーターは自動的にクリアされません。指定されたストリームのエラーインジケーターが設定されると、そのストリームに対する操作は、 clearerrfseekfsetpos、またはrewindが呼び出されるまでエラー値を返し続けます。Error indicators are not automatically cleared; once the error indicator for a specified stream is set, operations on that stream continue to return an error value until clearerr, fseek, fsetpos, or rewind is called.

StreamNULLの場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If stream is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、この関数はerrnoEINVALに設定し、を返します。If execution is allowed to continue, this function sets errno to EINVAL and returns. Errnoとエラーコードの詳細については、「 errno 定数」を参照してください。For more information on errno and error codes, see errno Constants.

この関数のセキュリティが強化されたバージョンについては、「clearerr_s」を参照してください。A more secure version of this function is available; see clearerr_s.

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
clearerrclearerr <stdio.h><stdio.h>

互換性の詳細については、「互換性」を参照してください。For additional compatibility information, see Compatibility.

Example

// 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" );
}

入力Input

n

OutputOutput

Write error: No error
Will input cause an error? n
No read error

関連項目See also

エラー処理Error Handling
ストリーム入出力Stream I/O
_eof_eof
feoffeof
ferrorferror
perror、_wperrorperror, _wperror