FILE *fp = NULL;
long file_size = 0;
fp = fopen( filename , "r" );
if ( fp == NULL )
{
printf(" ###< 파일 Open Error >### [%s]파일을 여는데 실패하였습니다. ", filename );
// 에러처리
}
fseek( fp, 0L , SEEK_END ); // 포인터의 위치를 끝으로 옮긴다
file_size = ftell(fp); // 포인터의 위치를 리턴
fclose(fp);
-----------------------------------------------------
유용하게 쓰일꺼 같다.
네이버 지식인의 hagopais 님이 알려주셨다.
---------- << 답변 원문 >> ------------
파일 크기를 반환하는 라이브러리 함수는 존재하지 않습니다.
그렇기 때문에 아래와 같이 해당 파일을 열어 파일 포인터를 끝으로 옮겨 전체 사이즈를 알아 낼 수 있습니다.
굵은글씨체가 밀접한 관계가 있으며 해당 함수의 자세한 쓰임은 천천히 알아보도록 하세요.. ^^
#include<stdio.h>
#include<string.h>
void main()
{
FILE *fp;
fp = fopen("/home/a.out" , "r" ) ; //대상 파일을 읽기 모드로 엽니다.
fseek(fp , 0l , SEEK_END ); //파일 포인터를 파일의 마지막으로 이동시킵니다.
printf("%d byte \n" , ftell(fp)) ; //결과 해당 파일의 크기를 얻을 수 있습니다.
}
출처 : http://anaron.egloos.com/1815292
'컴퓨터 > 언어,프로그래밍' 카테고리의 다른 글
[C언어] C언어 배열,문자,포인터 (0) | 2009.03.17 |
---|---|
[C언어] C언어 파일의 활용 (0) | 2009.03.17 |
C언어 :: 파일 입출력 함수 (종류/사용법) (1) | 2009.03.17 |
[프로그래밍 이론] 객체 지향이란? (0) | 2009.03.15 |
c언어 선택정렬에 대해 (0) | 2009.03.15 |