Thursday, October 26, 2006
C언어] 파일 크기/사이즈; 파일 길이 함수 VC++ Get File Size Function
파일 길이, 즉 "파일 사이즈"를 바이트로 구하는 방법입니다. 비주얼C (VC++) 용입니다.
_stati64() 함수는 파일에 대한 각종 정보를 얻는 함수인데, 파일 용량도 포함되어 있습니다.
64비트 정수를 다룰 수 있도록 했기 때문에, "6.22GB (6,689,140,736 바이트)"의 거대한 파일 사이즈도 측정할 수 있습니다.
6689140736 bytes
이렇게 출력됩니다.
다음의 예제 소스는 현재 디렉토리의 test.jpg 라는 파일의 크기를 출력합니다. "test.jpg" 라는 부분을 현재 디렉토리의 아무 파일명으로 교체한 후 실행하면 됩니다.
파일명: 0.cpp
컴파일 및 실행 결과:
_stati64() 함수는 파일에 대한 각종 정보를 얻는 함수인데, 파일 용량도 포함되어 있습니다.
64비트 정수를 다룰 수 있도록 했기 때문에, "6.22GB (6,689,140,736 바이트)"의 거대한 파일 사이즈도 측정할 수 있습니다.
6689140736 bytes
이렇게 출력됩니다.
다음의 예제 소스는 현재 디렉토리의 test.jpg 라는 파일의 크기를 출력합니다. "test.jpg" 라는 부분을 현재 디렉토리의 아무 파일명으로 교체한 후 실행하면 됩니다.
파일 사이즈 얻기 예제 소스
파일명: 0.cpp
#include <stdio.h>
#include <sys/stat.h> // _stati64()
__int64 getFileSize(char *filename);
int main(void) {
char s[] = "test.jpg";
printf("%s : %I64d bytes\n", s, getFileSize(s));
return 0;
}
__int64 getFileSize(char *filename) {
struct _stati64 statbuf;
if ( _stati64(filename, &statbuf) ) return -1; // 파일 정보 얻기: 에러 있으면 -1 을 반환
return statbuf.st_size; // 파일 크기 반환
}
#include <sys/stat.h> // _stati64()
__int64 getFileSize(char *filename);
int main(void) {
char s[] = "test.jpg";
printf("%s : %I64d bytes\n", s, getFileSize(s));
return 0;
}
__int64 getFileSize(char *filename) {
struct _stati64 statbuf;
if ( _stati64(filename, &statbuf) ) return -1; // 파일 정보 얻기: 에러 있으면 -1 을 반환
return statbuf.st_size; // 파일 크기 반환
}
컴파일 및 실행 결과:
D:\Z>cl 0.cpp && 0.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
test.jpg : 14124 bytes
D:\Z>
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
test.jpg : 14124 bytes
D:\Z>
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home