소프트웨어/음성프로그래밍
함수설명. 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;
이렇게하면 사이즈에는 헤더파일을 제외한 길이가 저장된다