論理ドライブ上の未使用クラスタ数を得ます。
FRESULT f_getfree ( const char* Path, /* 対象ドライブのルート・ディレクトリ */ DWORD* Clusters, /* 空きクラスタ数を格納する変数へのポインタ */ FATFS** FileSystemObject /* ファイル・システム・オブジェクトを指すポインタへのポインタ */ );
論理ドライブ上の空きクラスタ数を取得します。返されたファイル・システム・オブジェクトのcsizeメンバがクラスタあたりのセクタ数を示しているので、これを元に実際の空きサイズが計算できます。FAT32ボリュームにおいて、_USE_FSINFOが指定されているときは不正確な値を返す可能性があり、指定されていないときは処理に時間がかかります。
リードオンリー構成および_FS_MINIMIZE >= 1ではこの関数はサポートされません。
FATFS *fs; DWORD clust; // Get free clusters res = f_getfree("", &clust, &fs); if (res) die(res); // Get free space printf("%lu KB total disk space.\n" "%lu KB available on the disk.\n", (DWORD)(fs->max_clust - 2) * fs->csize / 2, clust * fs->csize / 2);