f_printf

ファイルに書式化文字列を書き込みます。

int f_printf (
  FIL* FileObject,      /* ファイル・オブジェクト */
  const TCHAR* Foramt,  /* 書式制御文字列 */
  ...
);

引数

FileObject
ファイル・オブジェクト構造体へのポインタを指定します。
Format
'\0'で終わる書式制御文字列を指すポインタを指定します。'\0'は書き込まれません。
...
オプションの引数。

戻り値

文字列が正常に書き込まれると書き込まれた文字数が返されます。ディスクが満杯またはその他エラーにより正常に書き込まれなかったときは関数は失敗しEOF (-1)が返されます。

解説

この関数はf_putc()およびf_puts()のラッパー関数です。書式制御機能はサブセットとなっていて、書式制御文字は次に示すものが使用可能です。

対応情報

_FS_READONLY == 0で、且つ_USE_STRFUNCが 1または 2のとき使用可能になります。2の時は、出力に含まれる'\n'"\r\n"に展開されてファイルに書き込まれます。

APIにUnicodeが選択されている(_LFN_UNICODEが1)ときは、UTF-8エンコードでファイルに書き込みます。それ以外の時は無変換(1文字1バイト)で書き込みます。

使用例

    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_open, f_putc, f_puts, f_gets, f_close, FIL

戻る