공룡호가 사는 세상 이야기

int ftell(FILE *Stream)

스트림의 현재 파일 포인터(fp)를 조사한다. 조사된 파일 포인터(fp)는 파일의 시작점에서부터 거리를 바이트 단위로 표시한 것이다.

fp를 리턴하고, 에러의 경우 -1을 리턴한다.

참고함수 : fseek, ftell, fsetpos, fgetpos

다음 예제는 인수로 입력된 파일의 크기를 리턴한다.
fp를 파일의 마지막으로 이동한 다음, 그때의 fp값이 바로 파일의 크기가 되는 것을 이용.

아래는 파일 크기를 구하는 소스.

#include <stdio.h>
#include <stdlib.h>

void main(int argc, int *argv[])
{
long length;
FILE *stream;

if(argc < 2)
{
fprintf("Input parameter\n");
exit(1);
}
stream = fopen(argv[1], "rb");
fseek(stream, 01, SEEK_END);
length = ftell(stream);
printf("File size is %ld bytes\n", length);
}