1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
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/manpage.css" type="text/css" />
7<title>Read</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/fs/Overview.html">fs</a>::<a href="../../../nn/fs/FileInputStream/Overview.html">FileInputStream</a>::Read</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14virtual <a href="../../../nn_types/s32.html">s32</a> Read(
15     void * buffer,
16     size_t size
17);
18</pre>
19    </div>
20<h2>Parameters</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <td width="15" />
26<th>Name</th>
27<td>Description</td>
28          </tr>
29        </thead>
30        <tr>
31<td>in</td>
32<th>buffer</th>
33<td>Pointer to the buffer where the data will be copied.</td>
34        </tr>
35        <tr>
36<td>in</td>
37<th>size</th>
38<td>Maximum number of bytes to copy.</td>
39        </tr> </table>
40    </div>
41<h2>Return Values</h2>
42<div class="section">Returns the actual number of bytes that were copied. Returns 0 if it reached the end of the file. </div>
43<h2>Description</h2>
44    <div class="section">
45<p>Loads the specified amount of data from a file into a buffer.</p><p>Up to <SPAN class="argument">size</SPAN> bytes of data are read from the current file position and copied to the region at the address specified by <SPAN class="argument">buffer</SPAN>.</p><p>Do not access the memory of the specified buffer region (neither reading nor writing) during this function call (for example, from another thread). File reads may be incorrect and the program could stop working in a future version of the SDK.</p><p>
46This function is implemented to show an error screen when errors occur internally, whether or not such errors are fatal. Control does not return from the function in this case. Use <CODE><a href="../../../nn/fs/FileInputStream/TryRead.html">nn::fs::FileInputStream::TryRead</a></CODE> on everything other than ROM archives.
47            </p><p>
48To read details about error handling, see <a href="../briefing/aboutErrorHandling.html#FileAndDirectory">Handling Errors During File and Directory Operations</a>.
49            </p></div>
50<h2>Revision History</h2>
51    <div class="section">
52      <dl class="history">
53        <dt>2011/03/18</dt>
54<dd>Explained limitations on buffer access while calling this function.<br />
55        </dd>
56        <dt>2010/12/24</dt>
57<dd>Added a link to the error handling page.
58        </dd>
59        <dt>2010/01/29</dt>
60<dd>Initial version.<br />
61        </dd>
62      </dl>
63    </div>
64  <hr><p>CONFIDENTIAL</p></body>
65</html>
66