f_sync

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

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

引数

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

戻り値

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_INVALID_OBJECT, FR_TIMEOUT

解説

この関数はf_close()と同じ処理を実行しますが、ファイルは引き続き開かれたままになり、読み書きを続行できます。ロギングなど、書き込みモードで長時間ファイルが開かれているアプリケーションにおいて、定期的または区切りの良いところでこの関数を使用することにより、不意の電源断やメディアの取り外しにより失われるデータを最小にすることができます。この背景については、アプリケーション ノートも参照してください。

実際のところ、f_close()内ではこの関数を呼び出した後ファイル オブジェクトを無効化しているだけなので、f_close()直前にf_sync()を置くことは無意味です。

対応情報

_FS_READONLY == 0のときに使用可能です。

参照

f_close

戻る