본문 바로가기
프로그래머의 길/C & C++

파일 포인터 관련 함수 ftell(), fseek()

by 제이콥케이 2007. 3. 21.
반응형

/*
1.  ftellstdio.h 에 아래와 같이 선언되어 있습니다.
     long int ftell( FILE* stream );

2.  ftell은 현재의 화일 포인터( 읽기/쓰기 작업의 위치로서 화일의
    시작부분에서 부터의 offset 바이트 수 )를 반환합니다.

3.  ftell에서 반환되는 값은 어어지는 fseek( 포인터의 위치 찾기 )를 통하여
    읽기/쓰기 작업의 준비에 쓰여집니다.

4.  아래는 ftell 함수의 사용예 입니다.
     "MYFILE.TXT"라는 화일을 update(읽고 쓰기)하기 위하여 열고
     간단한 문장을 여기에 출력하고난 후 그 때의
     화일 포인터의 위치를 출력하고 화일을 닫습니다.
*/

#include <stdio.h>
int main(void)
{
  FILE *stream;
  stream = fopen("MYFILE.TXT", "w+");
  fprintf(stream, "This is only a  test");

  printf
( "The file pointer is at byte %ld \n", ftell(stream) );

  fclose
(stream);
  return 0;
}



int fseek(FILE *stream, long offset, int whence);

stream : 파일포인터
offset : 이동할 거리
whence : 어디에서부터 이동할 지 그 기준 위치

기준 위치는 아래 세 가지가 있습니다.
SEEK_SET :  0 으로서 파일의 선두
SEEK_CUR :  1로서 현재 위치
SEEK_END : 2로서 파일의 끝

반응형