<p>The f_sync function flushes the cached information of a writing file.</p>
16
<pre>
17
FRESULT f_sync (
18
FIL* <em>FileObject</em> /* Pointer to the file object */
19
);
20
</pre>
21
</div>
22
23
<div class="para">
24
<h4>Parameter</h4>
25
<dl class="par">
26
<dt>FileObject</dt>
27
<dd>Pointer to the open file object to be flushed.</dd>
28
</dl>
29
</div>
30
31
32
<div class="para">
33
<h4>Return Values</h4>
34
<dl class="ret">
35
<dt>FR_OK (0)</dt>
36
<dd>The function succeeded.</dd>
37
<dt>FR_DISK_ERR</dt>
38
<dd>The function failed due to an error in the disk function.</dd>
39
<dt>FR_INT_ERR</dt>
40
<dd>The function failed due to a wrong FAT structure or an internal error.</dd>
41
<dt>FR_NOT_READY</dt>
42
<dd>The disk drive cannot work due to no medium in the drive or any other reason.</dd>
43
<dt>FR_INVALID_OBJECT</dt>
44
<dd>The file object is invalid.</dd>
45
</dl>
46
</div>
47
48
49
<div class="para">
50
<h4>Description</h4>
51
<p>The f_sync function performs the same process as f_close function but the file is left opened and can continue read/write/seek operations to the file. This is suitable for the applications that open files for a long time in write mode, such as data logger. Performing f_sync of periodic or immediataly after f_write can minimize the risk of data loss due to a sudden blackout or an unintentional disk removal. However f_sync immediataly before f_close has no advantage because f_close performs f_sync in it. In other words, the differnce between those functions is that the file object is invalidated or not. </p>