Linuxサーバープログラミングのutime()関数はファイルのアクセス時間を変更します。

1256 ワード

C言語utime()関数:ファイルのアクセス時間と変更時間を変更します。
ヘッダファイル:

#include <sys/types.h> #include <utime.h>
定義関数:int utime(const char * filename, struct utimbuf * buf);
関数の説明:utime()はパラメータfilenameファイルが属するinodeアクセス時間を変更します。構造utimbufの定義は以下の通りです。

struct utimbuf
{
 time_t actime;
 time_t modtime;
};
戻り値:パラメータbufが空のポインタ(NULL)であれば、このファイルのアクセス時間と変更時間は全部現在の時間に設定されます。実行が成功すれば0に戻り、失敗は-1に戻り、エラーコードはerrnoに保存されます。
エラーコード:
1、EACCESSがファイルにアクセスする際に拒否され、権限が足りません。
2、ENOENTで指定されたファイルは存在しません。
C言語utimes()関数:ファイルのアクセス時間と変更時間を変更します。
ヘッダファイル:

#include <sys/types.h> #include <utime.h>
定義関数:int utimes(char * filename, struct timeval *tvp);関数説明:utimes()パラメータfilenameファイルが属するinodeアクセス時間と変更時間を変更します。構造timevalの定義は以下の通りです。

struct timeval
{
 long tv_sec;
 long tv_usec; //  
};
戻り値:パラメータtvpは2つのtimeval構造空間を指し、utime()が使用するutimebuf構造と比較し、tvp[0].tc_secはutimbuf.actime,tvp[1].tv_secはutimbuf.modtimeです。実行に成功すれば0に戻ります。失敗は-1に戻ります。エラーは-1になります。
コードはerrnoに保存されます
エラーコード:
1、EACCESSがファイルにアクセスする際に拒否され、権限が足りません。
2、ENOENTで指定されたファイルは存在しません。