clearerr
스트림에 대한 오류 표시기를 다시 설정합니다. 이 함수의 더 안전한 버전을 사용할 수 있습니다. 를 참조하세요 clearerr_s
.
구문
void clearerr(
FILE *stream
);
매개 변수
stream
FILE
구조체에 대한 포인터입니다.
설명
clearerr
함수는 stream
에 대한 오류 표시기 및 파일 끝 표시기를 다시 설정합니다. 오류 표시기가 자동으로 지워지지 않습니다. 지정된 스트림에 대한 오류 표시기가 설정되면 해당 스트림에 대한 작업은 , 또는 fseek
fsetpos
rewind
호출될 때까지 clearerr
오류 값을 계속 반환합니다.
검사점 생성 시 stream
가 NULL
인 경우 Parameter Validation를 참조하세요. 계속 실행하도록 허용된 경우 이 함수는 errno
를 EINVAL
로 설정하고 반환합니다. 코드 및 오류 코드에 대한 errno
자세한 내용은 상수(constants)를 참조 errno
하세요.
이 함수의 더 안전한 버전을 사용할 수 있습니다. 를 참조하세요 clearerr_s
.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
clearerr |
<stdio.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// 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" );
}
입력
n
출력
Write error: No error
Will input cause an error? n
No read error