f_utime

オブジェクトのタイムスタンプを変更します。

FRESULT f_utime (
  const TCHAR* FileName,   /* オブジェクト名へのポインタ */
  const FILINFO* TimeDate  /* 設定する日付 */
);

引数

FileName
変更対象のファイルまたはディレクトリへのパス名の入った'\0'で終わる文字列を指定します。
TimeDate
設定する日付と時間をfdateとftimeメンバに設定されたFILINFO構造体へのポインタ。他のメンバはDon't careです。

戻り値

FR_OK (0)
正常終了。
FR_NO_FILE
ファイルが見つからない。
FR_NO_PATH
パスが見つからない。
FR_INVALID_NAME
パス名が不正。
FR_INVALID_NAME
論理ドライブ番号が不正。
FR_NOT_READY
メディアがセットされていないなど、物理ドライブが動作不能状態。
FR_WRITE_PROTECTED
メディアが書き込み禁止状態。
FR_DISK_ERR
ディスク・エラーによる失敗。
FR_INT_ERR
不正なFAT構造または内部エラーによる失敗。
FR_NOT_ENABLED
その論理ドライブにワーク・エリアが与えられていない。
FR_NO_FILESYSTEM
有効なFATボリュームが見つからない。

解説

オブジェクトのタイムスタンプを変更します。

使用例

FRESULT set_timestamp (
    char *obj,     /* ファイル名へのポインタ */
    int year,
    int month,
    int mday,
    int hour,
    int min,
    int sec
)
{
    FILINFO fno;

    fno.fdate = (WORD)(((year - 1980) * 512U) | month * 32U | mday);
    fno.ftime = (WORD)(hour * 2048U | min * 32U | sec / 2U);

    return f_utime(obj, &fno);
}

対応情報

_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のときに使用可能です。

参照

f_stat, FILINFO

戻る