• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2<html lang="en">
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="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
7<title>FatFs - f_read</title>
8</head>
9
10<body>
11
12<div class="para func">
13<h2>f_read</h2>
14<p>The f_read function reads data from a file.</p>
15<pre>
16FRESULT f_read (
17  FIL* <span class="arg">fp</span>,     <span class="c">/* [IN] File object */</span>
18  void* <span class="arg">buff</span>,  <span class="c">/* [OUT] Buffer to store read data */</span>
19  UINT <span class="arg">btr</span>,    <span class="c">/* [IN] Number of bytes to read */</span>
20  UINT* <span class="arg">br</span>     <span class="c">/* [OUT] Number of bytes read */</span>
21);
22</pre>
23</div>
24
25<div class="para arg">
26<h4>Parameters</h4>
27<dl class="par">
28<dt>fp</dt>
29<dd>Pointer to the open file object structure. If a null pointer is given, the function fails with <tt>FR_INVALID_OBJECT</tt>.</dd>
30<dt>buff</dt>
31<dd>Pointer to the buffer to store the read data.</dd>
32<dt>btr</dt>
33<dd>Number of bytes to read in range of <tt>UINT</tt> type. If the file needs to be read fast, it should be read in large chunk as possible.</dd>
34<dt>br</dt>
35<dd>Pointer to the variable in <tt>UINT</tt> type that receives number of bytes read. This value is always valid after the function call regardless of the function return code. If the return value is equal to <tt class="arg">btr</tt>, the function return code should be <tt>FR_OK</tt>.</dd>
36</dl>
37</div>
38
39
40<div class="para ret">
41<h4>Return Values</h4>
42<p>
43<a href="rc.html#ok">FR_OK</a>,
44<a href="rc.html#de">FR_DISK_ERR</a>,
45<a href="rc.html#ie">FR_INT_ERR</a>,
46<a href="rc.html#dn">FR_DENIED</a>,
47<a href="rc.html#io">FR_INVALID_OBJECT</a>,
48<a href="rc.html#tm">FR_TIMEOUT</a>
49</p>
50</div>
51
52
53<div class="para desc">
54<h4>Description</h4>
55<p>The function starts to read data from the file at the file offset pointed by read/write pointer of the file object. The read/write pointer advances as number of bytes read. After the function succeeded, <tt class="arg">*br</tt> should be checked to detect end of the file. In case of <tt class="arg">*br</tt> &lt; <tt class="arg">btr</tt>, it means the read/write pointer hit end of the file during read operation.</p>
56</div>
57
58
59<div class="para comp">
60<h4>QuickInfo</h4>
61<p>Always available.</p>
62</div>
63
64
65<div class="para use">
66<h4>Example</h4>
67<p>Refer to the example in <tt>f_open</tt>.</p>
68</div>
69
70
71<div class="para ref">
72<h4>See Also</h4>
73<p><tt><a href="open.html">f_open</a>, <a href="gets.html">fgets</a>, <a href="write.html">f_write</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a></tt></p>
74</div>
75
76
77<p class="foot"><a href="../00index_e.html">Return</a></p>
78</body>
79</html>
80