f_sync

書き込み中のファイルのキャッシュされた情報をフラッシュします。

FRESULT f_sync (
  FIL* FileObject     /* ファイル・オブジェクト構造体へのポインタ */
);

引数

FileObject
syncするファイルのファイル・オブジェクト構造体へのポインタを指定します。

戻り値

FR_OK (0)
正常終了。
FR_DISK_ERR
ディスク・エラーによる失敗。
FR_INT_ERR
不正なFAT構造または内部エラーによる失敗。
FR_NOT_READY
メディアがセットされていないなど、ディスク・ドライブが動作不能状態。
FR_INVALID_OBJECT
ファイル・オブジェクトが無効。

解説

この関数はf_close()と同じ処理を実行しますが、ファイルは引き続き開かれたままになり、読み書きを続行できます。ロギングなど、書き込みモードで長時間ファイルが開かれているアプリケーションにおいて、定期的または区切りの良いところでsyncすることにより、不意の電源断やメディアの取り外しにより失われるデータを最小にすることができます。実際のところ、f_closeではsyncしたあとファイル・オブジェクトを破棄しているだけなので、f_close直前のsyncは意味がありません。

リード・オンリー構成ではこの関数はサポートされません。

参照

f_close

戻る