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


      void rewind(  
   FILE *stream   

매개 변수Parameters

FILE 구조체에 대한 포인터입니다.Pointer to FILE structure.


rewind 함수는 stream과 연결된 파일 포인터의 위치를 파일 시작 부분으로 변경합니다.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( stream, 0L, 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.

키보드 버퍼를 지우려면 rewind를 기본적으로 키보드와 연결되는 스트림 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. 계속해서 실행하도록 허용된 경우 이 함수가 반환되고 errnoEINVAL로 설정됩니다.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 in the Introduction.


모든 버전의 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