13 Security Lab

[C] 파일 크기 구하기 본문

Computer Science/Projects

[C] 파일 크기 구하기

Maj0r Tom 2013. 1. 17. 15:47

소켓통신중 패킷의 헤더에 데이터 파일의 전체 길이를 담기위해 파일 크기를 구하는 방법을 찾게되었다



stat함수 이용

#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> int main() { struct stat buf; int ret; ret = stat("test.c", &buf); if ( ret != 0 ) { perror("stat()"); exit(errno); } printf("len = %ld\n", buf.st_size); return 0; }

파일포인터의이동
#include <stdio.h>
int main()
{
   FILE *fp;

   fp = fopen("test.c", "rb");
   fseek(fp, 0L, SEEK_END);
   printf("%ld \n", ftell(fp));
   fclose(fp);
return 0;
}
//fopen시 바이너리 모드로 열어야함, (unix에서는 기본setting이 바이너리모드로 열리는것) ifstream fin("myFile", ios_base::in | ios_base::binary); fin.seekg(0, ios_base::end); istream::pos_type pt = fin.tellg();

Comments