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構成のときは、このメンバはありません。

戻る