13

教授から、 utime.hを使用してファイルの最終変更時刻を取得できると言われました。ただし、man ページでは、utime()はこの値のみを設定すると述べているようです。UNIX システムの C でファイルが最後に変更された時刻を調べるにはどうすればよいですか?

4

2 に答える 2

13

これは、ファイルのmtime、「最後のデータ変更の時間」を返します。Unixにはctimeという概念もあることに注意してください。これは「最後のステータス変更時刻」です ( ctime、atime、mtimeも参照)。

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

time_t get_mtime(const char *path)
{
    struct stat statbuf;
    if (stat(path, &statbuf) == -1) {
        perror(path);
        exit(1);
    }
    return statbuf.st_mtime;
}
于 2010-10-26T07:27:27.610 に答える
2

statシステム コールを使用して、最終アクセス時刻と変更時刻を取得できます。

于 2010-10-26T07:23:47.793 に答える