Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=utime">utime</a>(2)

1장. utime(2)

차례
1.1절. 사용법
1.2절. 설명
1.3절. 반환값
1.4절. 에러
1.5절. 예제

inode 에 대한 접근/수정 시간을 변경한다.


1.1절. 사용법

#include <sys/types.h>
#include <utime.h>

int utime(const char *filename, struct utimbuf *buf);
		


1.2절. 설명

utime()는 filename으로 지정된 inode 의 접근 시간과 수정시간을 buf의 actime 과 modtime 값으로 각각 변경한다. 만약 buf 가 NULL 이라면, 파일의 접근 시간과 수정시간은 현재 시간으로 설정된다. 다음은 utimebuf 구조체이다.

struct utimbuf
{
    time_t actime;   // 접근시간
    time_t modtime;	 // 변경시간
};
		


1.3절. 반환값

성공시 0을 리턴하며, 에러때는 -1을 리턴한다.


1.4절. 에러

다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.

EACCESS

파일에 대한 권한이 거부되었다.

ENOENT

파일이 존재하지 않는다.


1.5절. 예제

#include <sys/types.h>
#include <utime.h>
#include <sys/time.h>
#include <stdio.h>
#include <string.h>

int main()
{
    struct utimbuf ubuf;
    ubuf.actime = time((time_t *)0);
    ubuf.modtime = time((time_t *)0);

    // 접근,수정 시간을 현재 시간으로 변경한다.
    utime("sizeof.c", NULL);

    // NULL 대신 actime,modtime 을 세팅해서 
    // 직접 값을 지정해줄수도 있다. 
    utime("sizeof.c", &ubuf);
}