2017년 5월 28일 일요일

( get filesize function in C ) file의 크기 구하기 in C

C 언어 file의 크기 구하기


파일의 크기는 ftell과 fseek라는 함수를 이용해서 구할 수 있습니다.
ftell은 파일에서 읽는 위치를 나타내는 함수인데, fseek가 파일의 위치를 이동할 수 있습니다.
fseek(fp,0,2); 라고 호출하면 2:제일 마지막에서 0:첫번째 위치가 되어서 마지막 위치로 이동하게 됩니다.
아래는 구현한 함수 입니다.

get file length
#include <stdio.h>

// it returns sizes of file.
// if have an error, it will return the value minus.
long int get_file_length(char *filename)
{
 long int length = 0;
 FILE *fp;
 fp = fopen(filename,"rb");
 if( fp == NULL ) return -1;
 fseek(fp,0,2);
 length = ftell(fp);
 fclose(fp);
 return length;
}

int main(int argc, char *argv[])
{
 long int size;
 size = get_file_length(argv[1]);
 printf("file size:%ld\n",size);
 return 0;
}

get_file_size.c 파일의 크기가 452 byte 일때

실행화면
E:\download\data>gcc get_file_size.c

E:\download\data>a get_file_size.c
file size:452






댓글 없음:

댓글 쓰기