COM

[C언어] 파일접근 위치제어 fseek() , ftell(), rewind()

Weistern 2008. 2. 14. 02:54

파일포인터 ( FILE형 포인터가 아니라, 파일 내부위치를 가리키는 포인터 )

int fseek ( FILE* , long , int )

첫번째인자 : 대상파일
두번째인자 : 오프셋 ( 이동시킬 거리 byte 단위, long 형 )
세번째인자 : 모드 ( 0 = 시작점 , 1 = 현재점 , 2 = 끝점 )

다음과 같이 디파인되어있다.
SEEK_SET 0
SEEK_CUR 1
SEEK_END 2

예.
fseek( fp , 100L , 0 );       //   fp 가 가리키는 파일의 시작점에서, 100 바이트 다음으로 이동시킴
fseek( fp, -100L , 2 );      //   fp 가 가리키는 파일의 끝점에서, 100 바이트 이전쪽으로 이동시킴





long ftell ( FILE* );       //  해당 FILE형 포인터가 가리키는 파일의 파일내부포인터의 위치를 반환한다.
                                      시작점으로 부터 몇 바이트 위치에 있는지 long 형으로 반환함.

void rewind(FILE*);     //  파일 내부포인터를 시작점으로 옮김
.