f_sync
Функция f_sync сбрасывает (flush) кэшированные данные записываемого файла.
FRESULT f_sync (
FIL* FileObject /* Указатель на файловый объект */
);
Параметр
- FileObject
- Указатель на открытый файловый объект, кэшированные данные которого сбрасываются на диск (синхронизируются с физическим носителем диска).
Возвращаемые значения
FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_INVALID_OBJECT, FR_TIMEOUT
Описание
Функция f_sync выполняет те же действия, что и функция f_close, однако в отличие от неё оставляет файл открытым, так что можно продолжать операции read/write/seek с этим файлом. Функция f_sync может пригодиться для приложений, которые открывают файлы на длительное время в режиме записи - например, когда данные записываются в файл лога. Периодическое выполнение операции f_sync либо немедленно после f_write может снизить риск потери данных при неожиданном выключении питания либо извлечении диска. Однако вызов f_sync непосредственно перед f_close не принесет пользы, поскольку функция f_close также выполняет f_sync. Другими словами, единственное отличие f_sync от f_close - делается ли файловый объект валидным для дальнейшего использования, или нет.
Краткая информация (QuickInfo)
Функция доступна, если _FS_READONLY == 0.
См. также
f_close
[Ссылки]
1. f_sync - сброс кэшированных данных на диск (оригинал статьи на английском языке). |