ファイルに書式化文字列を書き込みます。
int f_printf ( FIL* fp, /* [IN] ファイル・オブジェクト */ const TCHAR* fmt, /* [IN] 書式制御文字列 */ ... );
文字列が正常に書き込まれると、書き込まれた文字数が返されます。ディスクが満杯またはその他エラーにより正常に書き込まれなかったときは、関数は失敗しEOF (-1)が返されます。
この関数は、f_putc()およびf_puts()のラッパー関数です。書式制御機能はC標準ライブラリのサブセットとなっていて、書式制御文字は次に示すものが使用可能です。
_FS_READONLY == 0で、且つ_USE_STRFUNCが1または2のとき使用可能になります。2の時は、出力に含まれる'\n'が'\r'+'\n'に展開されてファイルに書き込まれます。
APIにUnicodeが選択(_LFN_UNICODEが1)されているときは、fmtはUnicode文字列になりますが、ファイル上のエンコードは、_STRF_ENCODEオプションで選択できます。それ以外の時は無変換(1バイト/1文字)で書き込みます。
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); /* 浮動小数点は未サポート */