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

 
Previous Post C언어] 현재 날짜 시간, 년월일 시분초 로 출력 함수; Time To String Fun...나누기/나눗셈 기능, 곱하기(곱셈) 버튼 있는 계산기는? Calc Divide Multip...Python/파이썬] 정수 나누기 연산에서, 실수형으로 답 출력하기; Divide intPython/파이썬] 수학 함수 사용; math 모듈, sqrt() log() log10(...C언어] 수학 함수 sqrt() log() log10() 헤더 파일: include mat...C언어] DIR 함수; 디렉토리 파일 검색; 와일드카드 지원; findfirst findn...Java/자바/정규식] 대소문자 구분 없이 문자열 바꾸기/치환; Replace String...Java/자바] 16진수 문자열을 정수로 변환 계산; 십육진수 헥사(Hex) 문자열을 숫자...Q: 정규식과 정규표현식의 차이점/차이, 의미 - Regex; Regular Express...Java/자바] 16진수 계산하는 법; 십육진수 헥사(Hex)값 계산

C언어] 파일 타임 스탬프, 파일 날짜 시간 구하기 함수; File Time Stamp, Last Write Date

Monday, December 25, 2006

각 파일에는 "날짜/시간(Time of last modification of file)"이 있습니다. 타임 스탬프라고 하는데 그 날짜/시간을 구하는 방법입니다. 또한 타임 스탬프에는 다음과 같은 3종류가 있습니다:

* 만든 날짜 (Time of creation of file)

* 수정한 날짜 (Time of last modification of file)

* 액세스한 날짜 (Time of last access of file)


위의 3가지를 모두 구합니다.


VC++: '파일 처음 만든' '마지막 기록한' '마지막으로 접근한' 날짜/시간 구하기 예제


파일명: 0.cpp
#include <stdio.h>
#include <sys/stat.h>
#include <time.h>
#include <errno.h>

char* timeToString(struct tm *t);


int main(void) {
  struct _stat buf;
  char* filename = "Beatles, The - All My Loving.mp3";


  if ( _stat(filename, &buf) != 0 ) {
    switch (errno) {
      case ENOENT:
        fprintf(stderr, "File %s not found.\n", filename); break;
      case EINVAL:
        fprintf(stderr, "Invalid parameter to _stat.\n"); break;
      default:
        fprintf(stderr, "Unexpected error in _stat.\n");
    }
  }
  else {
    printf("%s\n", filename);
    printf( "\tTime Creation     : %s\n", timeToString(localtime(&buf.st_ctime)) );
    printf( "\tTime Last Written : %s\n", timeToString(localtime(&buf.st_mtime)) );
    printf( "\tTime Last Access  : %s\n", timeToString(localtime(&buf.st_atime)) );
  }


}




char* timeToString(struct tm *t) {
  static char s[20];

  sprintf(s, "%04d-%02d-%02d %02d:%02d:%02d",
              t->tm_year + 1900, t->tm_mon + 1, t->tm_mday,
              t->tm_hour, t->tm_min, t->tm_sec
          );

  return s;
}



컴파일 및 실행 결과 화면:
D:\Z>cl /nologo 0.cpp && 0.exe
0.cpp
Beatles, The - All My Loving.mp3
        Time Creation     : 2006-11-15 15:02:55
        Time Last Written : 2006-12-24 12:12:42
        Time Last Access  : 2006-12-25 12:01:23

D:\Z>


위의 경우 "Beatles, The - All My Loving.mp3"라는 파일의 타임 스탬프를 출력했습니다.



파일 날짜가 아닌, 시스템 날짜 구하기: ▶▶ C언어] 현재 날짜 시간, 년월일 시분초 로 출력 함수; Time To String Function VC++


파일 속성: ▶▶ C언어-VC] 파일 속성(읽기전용/히든 속성 등) 출력; Print File Attributes: ARHS


DIR 명령 구현 소스: ▶▶ C언어 VC] 도스 DIR 명령 구현; 파일 목록(리스트) 출력; 와일드 카드(Wild Card) 지원

2 Comments:
At 1:03 PM, Blogger Chung Hee said...

정말 감사합니다.

 
At 3:48 PM, Blogger mwultong said...

반갑습니다

 

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