f_printf

The f_printf function writes formatted string to the file.

int f_printf (
  FIL* fp,          /* [IN] File object */
  const TCHAR* fmt, /* [IN] Format stirng */
  ...
);

Parameters

fp
Pointer to the open file object structure.
fmt
Pointer to the null terminated format string.
...
Optional arguments.

Return Values

When the function succeeded, number of characters written is returned. When the function failed due to disk full or any error, an EOF (-1) will be returned.

Description

The f_printf() is a wrapper function of f_putc() and f_puts(). The format control directive is a sub-set of standard library shown as follos:

QuickInfo

Available when _FS_READONLY == 0 and _USE_STRFUNC is 1 or 2. When it is set to 2, '\n's contained in the output are converted to "\r\n".

When the FatFs is configured to Unicode API (_LFN_UNICODE == 1), the generated UCS-2 string is written to the file in UTF-8 encoding. If not the case, the byte characters will be written directly.

Example

    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 lacks floating point support */

See Also

f_open, f_putc, f_puts, f_gets, f_close, FIL

Return