C로 파일 크기를 알아내고 싶습니다. 도와주세요


파일크기를 알아내는 방법을 알고 싶습니다. 파일 내용 전체를 문자열로 저장하기 전에 딱 파일 크기만큼만 malloc 한 후 읽고 싶어서요.

지금 malloc(MAXSIZE*sizeof(char))같이 쓰고 있는데 너무 비효율적이에요

  • 2016년 01월 29일에 작성됨

조회수 209


1 답변


좋아요
0
싫어요
채택취소하기

파일 크기를 알아내는 방법(2가지)

1. ftell으로 찾기 :

ftell은 파일의 시작 위치와 현재 파인 포인터 위치 사이의 거리를 구해 줍니다

fseek(f, 0, SEEK_END); // 파일 포인터를 파일의 끝으로 이동
size = ftell(f); // 파일 시작부터 맨 끝까지의 거리를 return
fseek(f, 0, SEEK_SET); // 파일 포인터를 파일의 처음으로 이동

2. stat으로 찾기 :

stat는 파일에 대한 정보를 구조체에 담아 return해 줍니다.

#include <sys/stat.h>
struct stat st;
stat(filename, &st);
size = st.st_size;
  • 2016년 01월 29일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close