Функция 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