• 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="up" title="FatFs" href="../00index_e.html">
7<link rel="alternate" hreflang="ja" title="Japanese" href="../ja/stat.html">
8<link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
9<title>FatFs - f_stat</title>
10</head>
11
12<body>
13
14<div class="para func">
15<h2>f_stat</h2>
16<p>The f_stat function checks the existence of a file or sub-directory.</p>
17<pre>
18FRESULT f_stat (
19  const TCHAR* <span class="arg">path</span>,  <span class="c">/* [IN] Object name */</span>
20  FILINFO* <span class="arg">fno</span>        <span class="c">/* [OUT] FILINFO structure */</span>
21);
22</pre>
23</div>
24
25<div class="para arg">
26<h4>Parameters</h4>
27<dl class="par">
28<dt>path</dt>
29<dd>Pointer to the null-terminated string that specifies the <a href="filename.html">object</a> to get its information. The object must not be the root direcotry.</dd>
30<dt>fno</dt>
31<dd>Pointer to the blank <tt>FILINFO</tt> structure to store the information of the object. Set null pointer if it is not needed.</dd>
32</dl>
33</div>
34
35
36<div class="para ret">
37<h4>Return Values</h4>
38<p>
39<a href="rc.html#ok">FR_OK</a>,
40<a href="rc.html#de">FR_DISK_ERR</a>,
41<a href="rc.html#ie">FR_INT_ERR</a>,
42<a href="rc.html#nr">FR_NOT_READY</a>,
43<a href="rc.html#ok">FR_NO_FILE</a>,
44<a href="rc.html#np">FR_NO_PATH</a>,
45<a href="rc.html#in">FR_INVALID_NAME</a>,
46<a href="rc.html#id">FR_INVALID_DRIVE</a>,
47<a href="rc.html#ne">FR_NOT_ENABLED</a>,
48<a href="rc.html#ns">FR_NO_FILESYSTEM</a>,
49<a href="rc.html#tm">FR_TIMEOUT</a>,
50<a href="rc.html#nc">FR_NOT_ENOUGH_CORE</a>
51</p>
52</div>
53
54
55<div class="para desc">
56<h4>Description</h4>
57<p>The <tt>f_stat</tt> function checks the existence of a file or sub-directory. If not exist, the function returns with <tt>FR_NO_FILE</tt>. If exist, the function returns with <tt>FR_OK</tt> and the informations of the object, file size, timestamp and attribute, are stored to the file information structure. For details of the file information, refer to the <tt>FILINFO</tt> structure and <a href="readdir.html"><tt>f_readdir</tt></a> function.</p>
58</div>
59
60
61<div class="para comp">
62<h4>QuickInfo</h4>
63<p>Available when <tt><a href="config.html#fs_minimize">FF_FS_MINIMIZE</a> == 0</tt>.</p>
64</div>
65
66
67<div class="para use">
68<h4>Example</h4>
69<pre>
70    FRESULT fr;
71    FILINFO fno;
72
73
74    printf("Test for 'file.txt'...\n");
75
76    fr = f_stat("file.txt", &amp;fno);
77    switch (fr) {
78
79    case FR_OK:
80        printf("Size: %lu\n", fno.fsize);
81        printf("Timestamp: %u/%02u/%02u, %02u:%02u\n",
82               (fno.fdate &gt;&gt; 9) + 1980, fno.fdate &gt;&gt; 5 &amp; 15, fno.fdate &amp; 31,
83               fno.ftime &gt;&gt; 11, fno.ftime &gt;&gt; 5 &amp; 63);
84        printf("Attributes: %c%c%c%c%c\n",
85               (fno.fattrib &amp; AM_DIR) ? 'D' : '-',
86               (fno.fattrib &amp; AM_RDO) ? 'R' : '-',
87               (fno.fattrib &amp; AM_HID) ? 'H' : '-',
88               (fno.fattrib &amp; AM_SYS) ? 'S' : '-',
89               (fno.fattrib &amp; AM_ARC) ? 'A' : '-');
90        break;
91
92    case FR_NO_FILE:
93        printf("It is not exist.\n");
94        break;
95
96    default:
97        printf("An error occured. (%d)\n", fr);
98    }
99</pre>
100</div>
101
102
103<div class="para ref">
104<h4>References</h4>
105<p><tt><a href="opendir.html">f_opendir</a>, <a href="readdir.html">f_readdir</a>, <a href="sfileinfo.html">FILINFO</a></tt></p>
106</div>
107
108<p class="foot"><a href="../00index_e.html">Return</a></p>
109</body>
110</html>
111