- Added support for 64-bit LBA and GUID partition table (FF_LBA64 = 1) - Changed some API functions, f_mkfs() and f_fdisk(). - Fixed f_open() function cannot find the file with file name in length of FF_MAX_LFN characters. - Fixed f_readdir() function cannot retrieve long file names in length of FF_MAX_LFN - 1 characters. - Fixed f_readdir() function returns file names with wrong case conversion. (appeared at R0.12) - Fixed f_mkfs() function can fail to create exFAT volume in the second partition. (appeared at R0.12)
		
			
				
	
	
		
			100 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | |
| <html lang="en">
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 | |
| <meta http-equiv="Content-Style-Type" content="text/css">
 | |
| <link rel="up" title="FatFs" href="../00index_e.html">
 | |
| <link rel="alternate" hreflang="ja" title="Japanese" href="../ja/printf.html">
 | |
| <link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
 | |
| <title>FatFs - f_printf</title>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| 
 | |
| <div class="para func">
 | |
| <h2>f_printf</h2>
 | |
| <p>The f_printf function writes formatted string to the file.</p>
 | |
| <pre>
 | |
| int f_printf (
 | |
|   FIL* <span class="arg">fp</span>,          <span class="c">/* [IN] File object */</span>
 | |
|   const TCHAR* <span class="arg">fmt</span>, <span class="c">/* [IN] Format stirng */</span>
 | |
|   ...
 | |
| );
 | |
| </pre>
 | |
| </div>
 | |
| 
 | |
| <div class="para arg">
 | |
| <h4>Parameters</h4>
 | |
| <dl class="par">
 | |
| <dt>fp</dt>
 | |
| <dd>Pointer to the open file object structure.</dd>
 | |
| <dt>fmt</dt>
 | |
| <dd>Pointer to the null <tt>'\0'</tt> terminated format string. The terminator character will not be output.</dd>
 | |
| <dt>...</dt>
 | |
| <dd>Optional arguments...</dd>
 | |
| 
 | |
| </dl>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para ret">
 | |
| <h4>Return Values</h4>
 | |
| <p>When the string was written successfuly, it returns number of character encoding units written to the file. When the function failed due to disk full or any error, an <tt>EOF (-1)</tt> will be returned.</p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para desc">
 | |
| <h4>Description</h4>
 | |
| <p>The format control directive is a sub-set of standard library shown as follows:</p>
 | |
| <pre>
 | |
|     %[flag][width][prefix][type]
 | |
| </pre>
 | |
| <dl>
 | |
| <dt>flag</dt><dd>Padding options. A <tt>'0'</tt> specifies zero padded. A <tt>'-'</tt> specifies left justified.</dd>
 | |
| <dt>width</dt><dd>Minimum width of the field, <tt>'1'-'99'</tt> or <tt>'*'</tt>. If the width of generated string is less than the specified value, rest field is padded with white spaces or zeros. An <tt>*</tt> specifies the value comes from an argument in int type. The default value is zero.</dd>
 | |
| <dt>prefix</dt><dd>Size prefix <tt>'l'</tt> for long integer argument. If <tt>sizeof (long) == sizeof (int)</tt> (this is typical of 32-bit systems), the size prefix can be omitted.</dd>
 | |
| <dt>type</dt><dd><tt>'c','s','d','u','o','x','b'</tt>, specify type of the argument and output format, character, string, signed integer in decimal, unsigned integer in decimal, unsigned integer in octal, unsigned integer in hexdecimal and unsigned integer in binary respectively. These characters except <tt>'x'</tt> are case insensitive. An <tt>'X'</tt> generates a hexdecimal in up-case.</dd>
 | |
| </dl>
 | |
| <p>When FatFs is configured for Unicode API (<tt><a href="config.html#lfn_unicode">FF_LFN_UNICODE</a> >= 1</tt>), character encoding on the string fuctions, <tt>f_putc</tt>, <tt>f_puts</tt>, <tt>f_printf</tt> and <tt>f_gets</tt> function, is also switched to Unicode. The Unicode characters in multiple encoding unit, such as surrogate pair and multi-byte sequence, should not be divided into two function calls, or the character will be lost. The character encoding <em>on the file</em> to be written via this function is selected by <tt><a href="config.html#strf_encode">FF_STRF_ENCODE</a></tt>. The characters with wrong encoding or invalid for the output encoding will be lost.</p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para comp">
 | |
| <h4>QuickInfo</h4>
 | |
| <p>This is a wrapper function of <a href="write.html"><tt>f_write</tt></a> function. Available when <tt><a href="config.html#fs_readonly">FF_FS_READONLY</a> == 0</tt> and <tt><a href="config.html#use_strfunc">FF_USE_STRFUNC</a> >= 1</tt>. When <tt>FF_USE_STRFUNC == 2</tt>, <tt>'\n'</tt>s in the generated string are written as <tt>'\r'+'\n'</tt> each.</p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para use">
 | |
| <h4>Example</h4>
 | |
| <pre>
 | |
|     <em>f_printf</em>(&fil, "%d", 1234);            <span class="c">/* "1234" */</span>
 | |
|     <em>f_printf</em>(&fil, "%6d,%3d%%", -200, 5);  <span class="c">/* "  -200,  5%" */</span>
 | |
|     <em>f_printf</em>(&fil, "%ld", 12345L);         <span class="c">/* "12345" */</span>
 | |
|     <em>f_printf</em>(&fil, "%06d", 25);            <span class="c">/* "000025" */</span>
 | |
|     <em>f_printf</em>(&fil, "%06d", -25);           <span class="c">/* "000-25" */</span>
 | |
|     <em>f_printf</em>(&fil, "%*d", 5, 100);         <span class="c">/* "  100" */</span>
 | |
|     <em>f_printf</em>(&fil, "%-6d", 25);            <span class="c">/* "25    " */</span>
 | |
|     <em>f_printf</em>(&fil, "%u", -1);              <span class="c">/* "65535" or "4294967295" */</span>
 | |
|     <em>f_printf</em>(&fil, "%04x", 0xAB3);         <span class="c">/* "0ab3" */</span>
 | |
|     <em>f_printf</em>(&fil, "%08lX", 0x123ABCL);    <span class="c">/* "00123ABC" */</span>
 | |
|     <em>f_printf</em>(&fil, "%04o", 255);           <span class="c">/* "0377" */</span>
 | |
|     <em>f_printf</em>(&fil, "%016b", 0x550F);       <span class="c">/* "0101010100001111" */</span>
 | |
|     <em>f_printf</em>(&fil, "%s", "String");        <span class="c">/* "String" */</span>
 | |
|     <em>f_printf</em>(&fil, "%8s", "abc");          <span class="c">/* "     abc" */</span>
 | |
|     <em>f_printf</em>(&fil, "%-8s", "abc");         <span class="c">/* "abc     " */</span>
 | |
|     <em>f_printf</em>(&fil, "%c", 'a');             <span class="c">/* "a" */</span>
 | |
|     <em>f_printf</em>(&fil, "%f", 10.0);            <span class="c">/* f_printf lacks floating point support */</span>
 | |
| </pre>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para ref">
 | |
| <h4>See Also</h4>
 | |
| <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>
 | |
| </div>
 | |
| 
 | |
| <p class="foot"><a href="../00index_e.html">Return</a></p>
 | |
| </body>
 | |
| </html>
 |