## f_sync

The f_sync function flushes the cached information of a writing file.

    FRESULT f_sync (
      FIL* fp     /* [IN] File object */
    );

#### Parameter

fp
  Pointer to the open file object to be flushed.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_INVALID_OBJECT, FR_TIMEOUT

#### Description

The `f_sync` function performs the same process as `f_close` function but the file is left opened and can continue read/write/seek operations to the file. This is suitable for the applications that open files for a long time in write mode, such as data logger. Performing `f_sync` function of periodic or immediataly after `f_write` function can minimize the risk of data loss due to a sudden blackout or an unintentional media removal. For more information, refer to application note.

However there is no sense in `f_sync` function immediataly before `f_close` function because it performs `f_sync` function in it. In other words, the differnce between those functions is that the file object is invalidated or not.

#### QuickInfo

Available when `FF_FS_READONLY == 0`.

#### See Also

`f_close`, Critical section

Return