inode 에 대한 접근/수정 시간을 변경한다.
#include <sys/types.h> #include <utime.h> int utime(const char *filename, struct utimbuf *buf); |
utime()는 filename으로 지정된 inode 의 접근 시간과 수정시간을 buf의 actime 과 modtime 값으로 각각 변경한다. 만약 buf 가 NULL 이라면, 파일의 접근 시간과 수정시간은 현재 시간으로 설정된다. 다음은 utimebuf 구조체이다.
struct utimbuf
{
time_t actime; // 접근시간
time_t modtime; // 변경시간
};
|
다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.
파일에 대한 권한이 거부되었다.
파일이 존재하지 않는다.
#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);
}
|