Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • OperatingSystem
  • BOJ
  • 데이터 조작어
  • 우테코 체스
  • DB
  • 우테코5기
  • 우아한테크코스5기
  • Spring
  • 1259
  • SIGINT
  • 리눅스
  • Linux
  • 우아한테크코스
  • 트랜잭션
  • bean
  • 우아한형제들
  • 우테코
  • 정규화
  • 인덱스
  • 프로세스
  • signal
  • OS
  • C
  • 자바
  • C++
  • 백준
  • Operating System
  • 블랙잭
  • 운영체제
  • 원시값 포장

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

C & LINUX

C / LINUX utime()

2022. 5. 2. 19:26

함수 기능

파일의 최정 접근 시간과 최종 변경 시간을 변경하는 시스템 호출

함수 원형

utimebuf 구조

struct utimbuf {
    time_t actime;		// 접근 시간
    time_t modtime;		// 수정 시간
};
#include <utime.h>
#include <sys/types.h>

int utime(const char *filepath, const struct utimbuf *time);

리턴 값 : 성공시 0 에러시 -1

함수 파라메터

filepath

대상 파일 경로

time

변경될 시간

함수 예제

#include <stdio.h>
#include <stdlib.h> 
#include <unistd.h> 
#include <fcntl.h> 
#include <sys/stat.h> 
#include <utime.h>

int main(int argc, char *argv[]){
    struct utimbuf time_buf;
    struct stat statbuf;
    int fd;
    int i;

    for(i =1; i<argc; i++){
        if(stat(argv[i], &statbuf)<0){
            fprintf(stderr,"stat error for %s\n",argv[i]);
            continue;
        }

        if((fd=open(argv[i],O_RDWR | O_TRUNC))<0){
            fprintf(stderr, "open error for %s\n",argv[i]);
            continue;
        }

        close(fd);

        time_buf.actime = statbuf.st_atime;
        time_buf.modtime = statbuf.st_mtime;

        if(utime(argv[i], &time_buf)<0){
            fprintf(stderr, "utime error for %s\n",argv[i]);
            continue;
        }
    }


exit(0);
}

 

 

리눅스시스템 프로그래밍 - 홍지만 저

교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

'C & LINUX' 카테고리의 다른 글

C / LINUX fork()  (0) 2022.05.02
C / LINUX opendir(3) readdir(3) rewinddir(3) closedir(3) telldir(3) seekdir(3)  (0) 2022.05.02
C / LINUX getcwd(2) get_current_dir_name(2)  (0) 2022.05.02
C / LINUX chdir(2) fchdir(2)  (0) 2022.05.02
C / LINUX mkdir(2) rmdir(2)  (0) 2022.05.02
    'C & LINUX' 카테고리의 다른 글
    • C / LINUX fork()
    • C / LINUX opendir(3) readdir(3) rewinddir(3) closedir(3) telldir(3) seekdir(3)
    • C / LINUX getcwd(2) get_current_dir_name(2)
    • C / LINUX chdir(2) fchdir(2)
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바