FatFs - FILINFO

## FILINFO

`FILINFO`構造体は、`f_stat/f_readdir/f_findfirst/f_findnext`関数で返されるオブジェクトに関する情報を保持します。LFN使用時はサイズが大きく増加するので注意が必要です。

    typedef struct {
        FSIZE_t fsize;               /* ファイル サイズ */
        WORD    fdate;               /* 最後に更新された日付 */
        WORD    ftime;               /* 最後に更新された時刻  */
        BYTE    fattrib;             /* アトリビュート */
    #if _USE_LFN != 0
        TCHAR   altname[13];         /* 代替ファイル名 */
        TCHAR   fname[_MAX_LFN + 1]; /* 主ファイル名 */
    #else
        TCHAR   fname[13];           /* ファイル名 */
    #endif
    } FILINFO;

#### メンバ

fsize
  ファイルのバイト単位のサイズが格納されます。ディレクトリの場合は常に0です。データ型`FSIZE_t`は、`DWORD`(32-bit)または`QWORD`(64-bit)のエリアスで、exFATサポートの有無により切り替わります。
fdate
  ファイルの変更された日付、またはディレクトリの作成された日付が格納されます。
  bit15:9
    1980年を起点とした年が 0..127 で入ります。
  bit8:5
    月が 1..12 の値で入ります。
  bit4:0
    日が 1..31 の値で入ります。
ftime
  ファイルの変更された時刻、またはディレクトリの作成された時刻が格納されます。
  bit15:11
    時が 0..23 の値で入ります。
  bit10:5
    分が 0..59 の値で入ります。
  bit4:0
    秒/2が 0..29 の値で入ります。
fattrib
  属性フラグが格納されます。フラグは`AM_DIR, AM_RDO, AM_HID, AM_SYS, AM_ARC`の組み合わせとなります。
fname[]
  オブジェクト名が`'\0'`で終わる文字列として格納されます。読み出すべき項目が無いときは、ヌル文字列が返され、この構造体が無効であることを示します。
altname[]
  代替ファイル名があるときは、それが`'\0'`で終わる文字列として格納されます。非LFN構成のときは、このメンバはありません。

戻る