_utime, _wutime
utime.h:インデックス への移動
ヘッダーファイル
utime.h
カテゴリ
入出力ルーチン
プロトタイプ
int _utime(char *path, struct utimbuf *times);
int _wutime(wchar_t *path, struct _utimbuf *times);
説明
ファイルの時刻と日付を設定します。
_utime は,ファイル path の変更時刻を設定します。変更時刻は,times が指す utimbuf 構造体に含まれます。この構造体は,utime.h で定義され,次の形式を持ちます。
struct utimbuf {
time_t actime; /* アクセス時刻 */
time_t modtime; /* 変更時刻 */
};
FAT(ファイル割り当てテーブル)ファイルシステムは,変更時刻だけをサポートします。そのため,FAT ファイルシステムでは,_utime は actime を無視し,modtime だけを使ってファイルの変更時刻を設定します。
times が NULL の場合,ファイルの変更時刻には,現在の時刻が設定されます。
_wutime は _utime の Unicode バージョンです。Unicode バージョンは,filename として wchar_t 文字列を受け取ります。それ以外の機能は同じです。
戻り値
成功した場合,_utime は 0 を返します。
エラーが発生した場合は -1 を返し,グローバル変数 errno に次のいずれかの値を設定します。
EACCES |
アクセスが許可されない |
EMFILE |
オープンファイルが多すぎる |
ENOENT |
パスまたはファイル名が見つからない |
例
/* ファイルのタイムスタンプを別のファイルにコピーします */
#include <sys\stat.h>
#include <utime.h>
#include <stdio.h>
int main( int argc, char *argv[] )
{
struct stat src_stat;
struct utimbuf times;
if(argc != 3) {
printf( "Usage: copytime <source file> <dest file>\n" );
return 1;
}
if (stat(argv[1],&src_stat) != 0) {
perror("Unable to get status of source file");
return 1;
}
times.modtime = times.actime = src_stat.st_mtime;
if (utime(argv[2],×) != 0) {
perror("Unable to set time of destination file");
return 1;
}
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_utime |
+ |
+ |
||
_wutime |
+ |