次の方法で共有


clearerr_s

ストリームのエラー インジケーターをリセットします。 この関数は、「CRT のセキュリティ機能」に説明されているように、clearerr のセキュリティが強化されたバージョンです。

errno_t clearerr_s(
   FILE *stream 
);

パラメーター

  • stream
    FILE 構造体へのポインター

戻り値

正常終了した場合は 0、stream が NULL の場合は EINVAL を返します。

解説

clearerr_s 関数は、stream のエラー インジケーターおよび EOF (end-of-file) インジケーターをリセットします。 エラー インジケーターは自動的にクリアされないため、指定されたストリームのエラー インジケーターが設定されると、そのストリームに対する操作は、clearerr_s、clearerr、fseek、fsetpos、または rewind のいずれかが呼び出されるまでエラー値を返し続けます。

stream が NULL の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno を EINVAL に設定し、EINVAL を返します。

必要条件

ルーチン

必須ヘッダー

clearerr_s

<stdio.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

// 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

FakePre-57919d2337c7460fab9035752b7236bf-f34b9e7a0d874595847b6e312d0fa1e1

同等の .NET Framework 関数

該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

参照

エラー処理 (CRT)

ストリーム入出力

clearerr

_eof

feof

ferror

perror、_wperror