다음을 통해 공유


rewind

파일 포인터의 위치를 파일의 시작 부분으로 변경합니다.

구문

void rewind(
   FILE *stream
);

매개 변수

stream
FILE 구조체에 대한 포인터입니다.

설명

이 함수는 rewind 파일의 시작 부분에 연결된 stream 파일 포인터의 위치를 변경합니다. 호출 rewind 은 다음과 유사합니다.

(void) fseek(stream, 0L, SEEK_SET );

그러나 달리 fseekrewind 스트림에 대한 오류 표시기와 파일 끝 표시기를 모두 지웁니다. 또한 달리 fseek포인터 rewind 가 성공적으로 이동되었는지 여부를 나타내는 값을 반환하지 않습니다.

키보드 버퍼를 지우려면 기본적으로 키보드와 연결된 스트림stdin과 함께 사용합니다rewind.

스트림이 포인터인 NULL 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 실행을 계속하도록 허용된 경우 이 함수는 반환되고 errno 로 설정 EINVAL됩니다.

이러한 오류 코드 및 기타 오류 코드에 대한 자세한 내용은 errno, _doserrno, _sys_errlist_sys_nerr을(를) 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

루틴에서 반환된 값 필수 헤더
rewind <stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

라이브러리

모든 버전의 C 런타임 라이브러리입니다.

예시

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

참고 항목

스트림 I/O