파일 포인터의 위치를 파일의 시작 부분으로 변경합니다.Repositions the file pointer to the beginning of a file.


void rewind(
   FILE *stream

매개 변수Parameters

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


되감기 함수에 연결 된 파일 포인터의 위치를 조정 스트림 파일의 시작 부분에 있습니다.The rewind function repositions the file pointer associated with stream to the beginning of the file. rewind에 대한 호출은 다음과 유사합니다.A call to rewind is similar to

(void) fseek ( 스트림, 0 L, SEEK_SET);(void) fseek( stream, 0L, SEEK_SET );

그러나 달리 fseek, rewind 스트림에 대 한 오류 표시기 뿐만 아니라 파일 끝 표시기를 지웁니다.However, unlike fseek, rewind clears the error indicators for the stream as well as the end-of-file indicator. 또한 달리 fseek, rewind 포인터가 성공적으로 이동 하는지 여부를 나타내는 값을 반환 하지 않습니다.Also, unlike fseek, rewind does not return a value to indicate whether the pointer was successfully moved.

사용 하 여 키보드 버퍼를 지우려면 되감기 된 스트림을 stdin, 기본적으로 키보드와 연결 되어 있습니다.To clear the keyboard buffer, use rewind with the stream stdin, which is associated with the keyboard by default.

스트림이 NULL 에 설명 된 대로 포인터, 잘못 된 매개 변수 처리기가 호출 매개 변수 유효성 검사합니다.If stream is a NULL pointer, the invalid parameter handler is invoked, as described in Parameter Validation. 실행을 계속 허용 된 경우이 함수를 반환 하 고 errno 로 설정 된 EINVAL합니다.If execution is allowed to continue, this function returns and errno is set to EINVAL.

이러한 오류 코드 및 기타 오류 코드에 대한 내용은 _doserrno, errno, _sys_errlist, 및 _sys_nerr을 참조하세요.For information on these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

요구 사항Requirements

루틴Routine 필수 헤더Required header
rewindrewind <stdio.h><stdio.h>

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


모든 버전의 C 런타임 라이브러리입니다.All versions of the C run-time libraries.


// crt_rewind.c
/* This program first opens a file named
* crt_rewind.out for input and output and writes two
* integers to the file. Next, it uses rewind to
* reposition the file pointer to the beginning of
* the file and reads the data back in.
#include <stdio.h>

int main( void )
   FILE *stream;
   int data1, data2;

   data1 = 1;
   data2 = -37;

   fopen_s( &stream, "crt_rewind.out", "w+" );
   if( stream != NULL )
      fprintf( stream, "%d %d", data1, data2 );
      printf( "The values written are: %d and %d\n", data1, data2 );
      rewind( stream );
      fscanf_s( stream, "%d %d", &data1, &data2 );
      printf( "The values read are: %d and %d\n", data1, data2 );
      fclose( stream );


The values written are: 1 and -37
The values read are: 1 and -37

참고자료See also

스트림 I/OStream I/O