Библиотека FatFS: f_open |
Добавил(а) microsin | ||||||||||||||
f_open Функция f_open создает файловый объект (file object), который используется для доступа к файлу.
FRESULT f_open ( FIL* FileObject, /* Указатель на чистую структуру файлового объекта */ const TCHAR* FileName, /* Указатель на имя файла */ BYTE ModeFlags /* Флаги режима работы с файлом */ ); Параметры
Возвращаемые значения FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_DENIED, FR_EXIST, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_LOCKED, FR_NOT_ENOUGH_CORE, FR_TOO_MANY_OPEN_FILES Описание После того, как функция f_open завершилась успешно, файловый объект считается действительным. Файловый объект используется для последующих вызовов функций чтения/записи, чтобы идентифицировать конкретный файл. Когда работа с файловым объектом завершается, используйте фунцию f_close для закрытия файла. Если измененный файл не закрыт, данные файла могут быть потеряны. Если нужно сделать двойное открытие файла, прочитайте внимательно информацию здесь. Перед использованием любой файловой функции должна быть зарегистрирована рабочая область (file system object) на логическом диске вызовом функции f_mount. Все API-функции, за исключением f_fdisk, могут работать только после этой процедуры монтирования. Краткая информация (QuickInfo) Сама функция доступна всегда, независимо от заданной конфигурации FatFS. Флаги режима FA_WRITE, FA_CREATE_ALWAYS, FA_CREATE_NEW и FA_OPEN_ALWAYS недоступны, когда _FS_READONLY == 1. Код примера (копирование файла) void main (void) { FATFS fs[2]; /* Рабочая область (file system object) для логических дисков */ FIL fsrc, fdst; /* файловые объекты */ BYTE buffer[4096]; /* буфер для копирования данных фала */ FRESULT res; /* общий код возврата функций FatFs */ UINT br, bw; /* счетчик чтения/записи файла */ /* Регистрирование рабочей области для каждого тома (всегда закончится успешно, [Ссылки] 1. f_open - открытие/создание файла (оригинал статьи на английском языке). |