소프트웨어/음성프로그래밍

함수설명. fseek, ftell

cs만두 2013. 6. 25. 05:06

fseek( File *file , long int offset , int _origin);

파일포인터 file을 _origin을 기준으로 offset만큼 이동시킨다.

_origin은 SEEK_SET(시작점) SEEK_END(끝점) SEEK_CUR(현재포인터지점) 이 있다.

 

fseek(fin,44L,SEEK_SET); //시작점기준으로 44L만큼 뛰어넘은 부분으로 파일포인터 이동

 

예를들어 위의 소스는, WAV파일에서 헤더파일의 길이인 44L만큼을 뛰어넘은곳으로 포인터를 옮기는 소스이다.

 

 

ftell(File *file);

ftell은 현재 파일포인터가 가리키고 있는 지점을 알려준다.

그래서 예를들어 wav의 헤더파일을 제외한 사이즈를 알고싶다면

 

fseek(file, 0L , SEEK_END); //파일의 맨 끝으로 포인터를 옮긴다

int size= ftell(file)- 44L;

이렇게하면 사이즈에는 헤더파일을 제외한 길이가 저장된다