스트림에 대한 오류 표시기를 다시 설정합니다.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.


errno_t clearerr_s(
   FILE *stream

매개 변수Parameters

파일 구조에 대 한 포인터Pointer to FILE structure

반환 값Return Value

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


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>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For additional compatibility information, see Compatibility.


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

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




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

참조See also

오류 처리Error Handling
스트림 I/OStream I/O
perror, _wperrorperror, _wperror