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
댓글 없음:
댓글 쓰기