컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post 울트라에디트 배경색 글자 색깔 변경; 검정 바탕, UltraEdit Color자바 Java] CRC32 구하기 소스, 파일 CRC 값 계산 출력WinHex 사용법, WinHex(윈헥사) 실행법엑셀/Excel] 시트에 현재 날짜와 시간 입력하는 핫키, Put Date TimeC언어] 정수를 문자로 변환 출력 예제 소스; print int to charC언어] 영문 문자열 헥사(Hex) 덤프, 16진수로 변환 출력; String Dump한글 확장 완성형 문자열 헥사 덤프, 16진수로 변환; Hangul Hex Dump엑셀/MS워드 VBA매크로] 현재 날짜, 시간 출력 함수; Excel Word Date T...C언어] 숫자 정수 int 배열 정렬(소트Sort소팅) 역순/내림차순 정렬C언어] 문자열 배열 정렬(소트;Sort)역순 소팅, qsort 함수 사용법

C언어] 파일 크기/사이즈; 파일 길이 함수 VC++ Get File Size Function

Thursday, October 26, 2006

파일 길이, 즉 "파일 사이즈"를 바이트로 구하는 방법입니다. 비주얼C (VC++) 용입니다.

_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;                        // 파일 크기 반환
}




컴파일 및 실행 결과:
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>



☞ C/C++

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top