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

스트림stream
파일 구조에 대 한 포인터Pointer to FILE structure

Return ValueReturn Value

성공 하면 0입니다. EINVALNULL 인 경우 .Zero if successful; EINVAL if stream is NULL.

설명Remarks

Clearerr_s 함수는 스트림에대 한 오류 표시기와 파일 끝 표시기를 다시 설정 합니다.The clearerr_s function resets the error indicator and end-of-file indicator for stream. 오류 표시기는 자동으로 지워지지 않습니다. 지정 된 스트림에 대 한 오류 표시기가 설정 되 면 해당 스트림의 연산은 clearerr_s, clearerr, fseek, fsetpos또는 되감기 가 호출 될 때까지 오류 값을 계속 반환 합니다.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.

StreamNULL인 경우 매개 변수 유효성 검사에 설명 된 대로 잘못 된 매개 변수 처리기가 호출 됩니다.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.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

요구 사항Requirements

루틴에서 반환된 값Routine 필수 헤더Required header
clearerr_sclearerr_s <stdio.h><stdio.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.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
스트림 I/OStream I/O
clearerrclearerr
_eof_eof
feoffeof
ferrorferror
perror, _wperrorperror, _wperror