The f_printf function writes formatted string to the file.
int f_printf ( FIL* fp, /* [IN] File object */ const TCHAR* fmt, /* [IN] Format stirng */ ... );
When the function succeeded, it returns number of characters written. If the function could not write the generated string to the file due to disk full or an error, EOF (-1) will be returned.
The format control directive is a sub-set of standard library shown as follos:
This is a wrapper function of f_write function. Available when FF_FS_READONLY == 0 and FF_USE_STRFUNC is 1 or 2. When it is set to 2, '\n's contained in the output are converted to '\r'+'\n'.
When FatFs is configured to Unicode API (FF_LFN_UNICODE == 1), data types on the srting fuctions, f_putc, f_puts, f_printf and f_gets function, is also switched to Unicode. The character encoding on the file to be read/written via those functions is selected by FF_STRF_ENCODE option.
f_printf(&fil, "%d", 1234); /* "1234" */ f_printf(&fil, "%6d,%3d%%", -200, 5); /* " -200, 5%" */ f_printf(&fil, "%ld", 12345L); /* "12345" */ f_printf(&fil, "%06d", 25); /* "000025" */ f_printf(&fil, "%06d", -25); /* "000-25" */ f_printf(&fil, "%-6d", 25); /* "25 " */ f_printf(&fil, "%u", -1); /* "65535" or "4294967295" */ f_printf(&fil, "%04x", 0xAB3); /* "0ab3" */ f_printf(&fil, "%08LX", 0x123ABCL); /* "00123ABC" */ f_printf(&fil, "%016b", 0x550F); /* "0101010100001111" */ f_printf(&fil, "%s", "String"); /* "String" */ f_printf(&fil, "%8s", "abc"); /* " abc" */ f_printf(&fil, "%-8s", "abc"); /* "abc " */ f_printf(&fil, "%c", 'a'); /* "a" */ f_printf(&fil, "%f", 10.0); /* f_printf lacks floating point support */