printf.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html lang="ja">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta http-equiv="Content-Style-Type" content="text/css">
  6. <link rel="up" title="FatFs" href="../00index_j.html">
  7. <link rel="alternate" hreflang="en" title="English" href="../en/printf.html">
  8. <link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
  9. <title>FatFs - f_printf</title>
  10. </head>
  11. <body>
  12. <div class="para func">
  13. <h2>f_printf</h2>
  14. <p>ファイルに書式化文字列を書き込みます。</p>
  15. <pre>
  16. int f_printf (
  17. FIL* <span class="arg">fp</span>, <span class="c">/* [IN] ファイル オブジェクト */</span>
  18. const TCHAR* <span class="arg">fmt</span>, <span class="c">/* [IN] 書式制御文字列 */</span>
  19. ...
  20. );
  21. </pre>
  22. </div>
  23. <div class="para arg">
  24. <h4>引数</h4>
  25. <dl class="par">
  26. <dt>fp</dt>
  27. <dd>ファイル オブジェクト構造体へのポインタを指定します。</dd>
  28. <dt>fmt</dt>
  29. <dd>ヌル文字<tt>'\0'</tt>終端の書式制御文字列を指すポインタを指定します。ヌル文字は書き込まれません。</dd>
  30. <dt>...</dt>
  31. <dd>オプションの引数。</dd>
  32. </dl>
  33. </div>
  34. <div class="para ret">
  35. <h4>戻り値</h4>
  36. <p>文字列が正常に書き込まれると、書き込まれた文字数が返されます。ディスクが満杯またはその他エラーにより正常に書き込まれなかったときは、関数は失敗し<tt>EOF (-1)</tt>が返されます。</p>
  37. </div>
  38. <div class="para desc">
  39. <h4>解説</h4>
  40. <p>書式制御機能はC標準ライブラリのサブセットとなっていて、書式制御文字は次に示すものが使用可能です。</p>
  41. <ul>
  42. <li>タイプ: <tt>c C s S d D u U x X b B</tt></li>
  43. <li>精度指定: <tt>l L</tt></li>
  44. <li>フラグ: <tt>0 -</tt></li>
  45. </ul>
  46. </div>
  47. <div class="para comp">
  48. <h4>対応情報</h4>
  49. <p>この関数は、<a href="putc.html"><tt>f_putc</tt></a>関数および<a href="puts.html"><tt>f_puts</tt></a>関数のラッパー関数です。<tt>_FS_READONLY == 0</tt>で、且つ<tt>_USE_STRFUNC</tt>が1または2のとき使用可能になります。2の時は、出力に含まれる<tt>'\n'</tt>が<tt>'\r'+'\n'</tt>に展開されてファイルに書き込まれます。</p>
  50. <p>APIにUnicodeが選択(<tt>_LFN_UNICODE</tt>が1)されているときは、<tt class="arg">fmt</tt>はUnicode文字列になりますが、ファイル上のエンコードは、<tt>_STRF_ENCODE</tt>オプションで選択できます。それ以外の時は無変換(1バイト/1文字)で書き込みます。</p>
  51. </div>
  52. <div class="para use">
  53. <h4>使用例</h4>
  54. <pre>
  55. f_printf(&amp;fil, "%d", 1234); <span class="c">/* "1234" */</span>
  56. f_printf(&amp;fil, "%6d,%3d%%", -200, 5); <span class="c">/* " -200, 5%" */</span>
  57. f_printf(&amp;fil, "%ld", 12345L); <span class="c">/* "12345" */</span>
  58. f_printf(&amp;fil, "%06d", 25); <span class="c">/* "000025" */</span>
  59. f_printf(&amp;fil, "%06d", -25); <span class="c">/* "000-25" */</span>
  60. f_printf(&amp;fil, "%-6d", 25); <span class="c">/* "25 " */</span>
  61. f_printf(&amp;fil, "%u", -1); <span class="c">/* "65535" or "4294967295" */</span>
  62. f_printf(&amp;fil, "%04x", 0xAB3); <span class="c">/* "0ab3" */</span>
  63. f_printf(&amp;fil, "%08LX", 0x123ABCL); <span class="c">/* "00123ABC" */</span>
  64. f_printf(&amp;fil, "%016b", 0x550F); <span class="c">/* "0101010100001111" */</span>
  65. f_printf(&amp;fil, "%s", "String"); <span class="c">/* "String" */</span>
  66. f_printf(&amp;fil, "%8s", "abc"); <span class="c">/* " abc" */</span>
  67. f_printf(&amp;fil, "%-8s", "abc"); <span class="c">/* "abc " */</span>
  68. f_printf(&amp;fil, "%c", 'a'); <span class="c">/* "a" */</span>
  69. f_printf(&amp;fil, "%f", 10.0); <span class="c">/* 浮動小数点は未サポート */</span>
  70. </pre>
  71. </div>
  72. <div class="para ref">
  73. <h4>参照</h4>
  74. <p><tt><a href="open.html">f_open</a>, <a href="putc.html">f_putc</a>, <a href="puts.html">f_puts</a>, <a href="gets.html">f_gets</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a></tt></p>
  75. </div>
  76. <p class="foot"><a href="../00index_j.html">戻る</a></p>
  77. </body>
  78. </html>