Программирование Файловые системы Библиотека Petit FatFS: pf_open Fri, December 06 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Библиотека Petit FatFS: pf_open Печать
Добавил(а) microsin   

pf_open

Функция pf_open открывает уже имеющийся на диске файл.

FRESULT pf_open (
  const char* FileName  /* Указатель на имя файла */
);

Параметры

FileName
Указатель на null-terminated (завершающуюся нулем) строку, которая указывает имя открываемого файла.

Возвращаемые значения

FR_OK (0)
Функция завершилась успешно.
FR_NO_FILE
Файл не найден.
FR_NO_PATH
Путь не найден.
FR_DISK_ERR
Функция завершилась по ошибке в работе диска, неправильной структуры FAT или из-за внутренней ошибки.
FR_NOT_ENABLED
Том не был смонтирован.

Описание

Файл должен быть обязательно открыт перед использованием функций pf_read и pf_lseek. Открытый файл действителен до следующего открытия.

Пример кода

void main (void)
{
    FATFS fs;          // Рабочая область (file system object) для тома
    BYTE buff[16];     // Буфер чтения файла
    UINT br;           // Счетчик чтения файла
    FRESULT res;       // Общий код возврата функций Petit FatFs

    // Монтирование тома
    pf_mount(&fs);
    if (res) die(res);
    // Открытие файла
    res = pf_open("srcfile.dat");
    if (res) die(res);
    // Чтение данных в память
    res = pf_read(buff, 16, &br);    // Чтение данных в buff[]
    if (res) die(res);               // Проверка на ошибку
    if (br != 16) die(255);          // Проверка на конец файла (EOF)
    ....
    // Перенаправление (forward) данных в выходной поток
    do
        res = pf_read(0, 512, &br);  // Отправка данных в поток
    while (res || br != 512);        // Break при ошибке или EOF
    ....
    // Дерегистрация рабочей области, чтобы её можно было отбросить
    f_mount(NULL);
}

Краткая информация (QuickInfo)

Функция доступна всегда.

См. также

pf_read, FATFS

[Ссылки]

1pf_open - Open a File (оригинал статьи на английском языке).

 

Добавить комментарий


Защитный код
Обновить

Top of Page