다음을 통해 공유


fseek, _fseeki64

파일 포인터가 지정 된 위치로 이동합니다.

int fseek( 
   FILE *stream,
   long offset,
   int origin 
);
int _fseeki64( 
   FILE *stream,
   __int64 offset,
   int origin 
);

매개 변수

  • stream
    포인터를 FILE 구조체입니다.

  • offset
    바이트에서 origin.

  • origin
    초기 위치입니다.

반환 값

연결에 성공 하면 fseek 및 _fseeki64 0을 반환 합니다.그렇지 않은 경우 0이 아닌 값을 반환합니다.장치에서 검색을 할 수 없는 것, 반환 값은 정의 되지 않습니다.경우 stream 은 null 포인터입니다. 또는 origin 아래 허용 된 값 중 하나가 아닌 fseek 및 _fseeki64 의 설명에 따라 잘못 된 매개 변수 처리기를 호출 합니다. 매개 변수 유효성 검사.실행을 계속 수 있으면 이러한 함수를 설정 errno 에 EINVAL 및-1을 반환 합니다.

설명

fseek 및 _fseeki64 파일 포인터 (있는 경우)에 연결 된 이동 기능을 stream 새 위치에 offset 바이트 origin*.* 스트림에서 다음 작업은 새 위치에서 이루어집니다.업데이트에 대 한 열린 stream의 읽기 또는 쓰기 다음 작업 수 있습니다.인수 원점 STDIO에서 정의 된 상수는 다음 중 하나 여야 합니다.H:

  • SEEK_CUR
    파일 포인터의 현재 위치입니다.

  • SEEK_END
    파일의 끝입니다.

  • SEEK_SET
    파일의 시작 부분입니다.

사용할 수 있습니다 fseek 및 _fseeki64 파일에 포인터를 아무 곳 이나 위치를 변경 합니다.포인터가 파일의 끝을 지 나도 배치할 수 있습니다.fseek및 _fseeki64파일 끝 표시기를 해제 하 고 모든 이전 효과 부정 ungetc 에 대 한 호출 stream.

데이터 추가 대 한 파일을 열 때 현재 파일 위치 없습니다 다음 쓰기가 발생할 위치에서 마지막 I/O 작업에서 결정 됩니다.I/O 작업이 아직 추가 대 한 열린 파일에서 발생 한 경우 파일 위치를 파일의 시작 부분입니다.

텍스트 모드에서 연 스트림에 대 한 fseek 및 _fseeki64캐리지 – 줄 바꿈 변환 시킬 수 있으므로 사용을 제한 된 fseek 및 _fseeki64예기치 않은 결과가 발생할 수 있습니다.경우에 fseek 및 _fseeki64작업에 텍스트 모드에서 연 스트림에 사용할 수 있습니다.

  • 오프셋 0 원점 값을 기준으로 검색 합니다.

  • 오프셋된 값을 사용 하 여 파일의 처음부터 검색을 반환에 대 한 호출에서 ftell 를 사용할 때 fseek또는 _ftelli64사용 하는 경우_fseeki64.

또한 텍스트 모드에서 CTRL + Z는 파일 끝 문자로 입력 해석 됩니다.읽기/쓰기용으로 열 파일에서 fopen 및 모든 관련된 루틴 CTRL + Z를 파일의 끝에 대 한 확인 하 고 가능한 경우 제거 합니다.이 조합 하 여 수행 됩니다 fseek 및 ftell또는_fseeki64 및 _ftelli64, CTRL + Z로 인해 파일 내에서 이동 합니다 fseek 또는 _fseeki64 파일의 끝에 근처에 제대로 동작 합니다.

CRT 시작 되는 파일에 바이트 순서 표시 (BOM)를 열 때 다음 BOM 파일 포인터 위치 (즉, 파일의 실제 내용 시작).필요한 경우 fseek 파일의 시작 부분에 사용 ftell 초기 위치를 가져올 수 및 fseek 0 위치를 대신 하 여.

이 함수는 다른 스레드를 실행 하는 동안 잠금을 설정 하 고 있으므로 스레드로부터 안전한 지.비잠금 버전을 참조 하십시오. _fseek_nolock, _fseeki64_nolock.

요구 사항

Function

필수 헤더

fseek

<stdio.h>

_fseeki64

<stdio.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_fseek.c
// This program opens the file FSEEK.OUT and
// moves the pointer to the file's beginning.
 
#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[81];
   int  result;

   if ( fopen_s( &stream, "fseek.out", "w+" ) != 0 )
   {
      printf( "The file fseek.out was not opened\n" );
      return -1;
   }
   fprintf( stream, "The fseek begins here: "
                    "This is the file 'fseek.out'.\n" );
   result = fseek( stream, 23L, SEEK_SET);
   if( result )
      perror( "Fseek failed" );
   else
   {
      printf( "File pointer is set to middle of first line.\n" );
      fgets( line, 80, stream );
      printf( "%s", line );
    }
   fclose( stream );
}
  
  

해당 .NET Framework 항목

참고 항목

참조

스트림 I/O

통해, _wfopen

ftell, _ftelli64

_lseek, _lseeki64

rewind