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

f_printf

Функция f_printf записывает отформатированную строку в файл.

int f_printf (
  FIL* FileObject,      /* Файловый объект */
  const TCHAR* Foramt,  /* Форматированная строка */
  ...
);

Параметры

FileObject
Указатель на структуру открытого файлового объекта (файла).
Format
Указатель на null terminated (оканчивающуюся нулем) строку формата.
...
Дополнительные необязательные аргументы.

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

Когда функция завершилась успешно, то будет возвращено количество записанных в файл символов. Когда функция завершилась по ошибке (либо переполнился диск, либо по любой другой причине), она вернет EOF (-1).

Описание

Функция f_printf() является оберткой (wrapper function) над функциями f_putc() и f_puts(). Директивы управления форматом является подмножеством директив стандартной библиотеки printf, и показаны ниже:

  • Тип: c C s S d D u U x X b B
  • Размер: l L
  • Флаг: 0 -

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

Функция доступна, когда опция _FS_READONLY == 0 и опция _USE_STRFUNC установлена в 1 или 2. Когда опция установлена в 2, символы '\n', содержащиеся в выводе, будут заменены на последовательность "\r\n".

Если FatFs сконфигурирована в режиме Unicode API (_LFN_UNICODE == 1), то сгенерированные символы в кодировке UCS-2 будут записаны в файл в кодировке UTF-8. Во всех других случаях байты символов будут выведены в файл напрямую, без преобразования.

Пример кода

    f_printf(&fil, "%d", 1234);            /* "1234" */
    f_printf(&fil, "%6d,%3d%%", -200, 5);  /* " -200, 5%" */
    f_printf(&fil, "%-6u", 100);           /* "100 " */
    f_printf(&fil, "%ld", 12345678L);      /* "12345678" */
    f_printf(&fil, "%04x", 0xA3);          /* "00a3" */
    f_printf(&fil, "%08LX", 0x123ABC);     /* "00123ABC" */
    f_printf(&fil, "%016b", 0x550F);       /* "0101010100001111" */
    f_printf(&fil, "%s", "String");        /* "String" */
    f_printf(&fil, "%-4s", "abc");         /* "abc " */
    f_printf(&fil, "%4s", "abc");          /* " abc" */
    f_printf(&fil, "%c", 'a');             /* "a" */
    f_printf(&fil, "%f", 10.0);            /* f_printf не поддерживает числа с плавающей запятой */

См. также

f_open, f_putc, f_puts, f_gets, f_close, FIL

[Ссылки]

1f_open - запись форматированной строки (оригинал статьи на английском языке).