clearerr_sclearerr_s

ストリームのエラー インジケーターをリセットします。Resets the error indicator for a stream. これは、「CRT のセキュリティ機能」の説明にあるとおり、セキュリティが強化されたバージョンの clearerr です。This is a version of clearerr with security enhancements as described in Security Features in the CRT.

構文Syntax

errno_t clearerr_s(
   FILE *stream
);

パラメーターParameters

streamstream
ポインターファイル構造体Pointer to FILE structure

戻り値Return Value

成功した場合は 0 します。EINVAL場合ストリームNULLします。Zero if successful; EINVAL if stream is NULL.

RemarksRemarks

Clearerr_s関数は、エラー インジケーターとファイルの終わりインジケーターをリセットストリームします。The clearerr_s function resets the error indicator and end-of-file indicator for stream. エラー インジケーターは自動的にクリアされません。そのストリームに対する操作が引き続きまでエラー値を返し、指定したストリームのエラー インジケーターを設定すると、 clearerr_sclearerrfseekfsetpos、または巻き戻しが呼び出されます。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_s, clearerr, fseek, fsetpos, or rewind is called.

場合ストリームNULLで説明されているとおり、無効なパラメーター ハンドラーが呼び出されますパラメーターの検証です。If stream is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合に、この関数が設定errnoEINVAL返しますEINVALします。If execution is allowed to continue, this function sets errno to EINVAL and returns EINVAL.

必要条件Requirements

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

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

Example

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

入力Input

n

出力Output

Write error: Bad file descriptor
Will input cause an error? n

関連項目See also

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