1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
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/findfirst.html">
8 <link rel=
"stylesheet" href=
"../css_e.css" type=
"text/css" media=
"screen" title=
"ELM Default">
9 <title>FatFs - f_findfirst
</title>
14 <div class=
"para func">
16 <p>The f_findfirst function searches a directroy for an item.
</p>
19 DIR*
<span class=
"arg">dp
</span>,
<span class=
"c">/* [OUT] Poninter to the directory object */
</span>
20 FILINFO*
<span class=
"arg">fno
</span>,
<span class=
"c">/* [OUT] Pointer to the file information structure */
</span>
21 const TCHAR*
<span class=
"arg">path
</span>,
<span class=
"c">/* [IN] Pointer to the directory name to be opened */
</span>
22 const TCHAR*
<span class=
"arg">pattern
</span> <span class=
"c">/* [IN] Pointer to the matching pattern string */
</span>
27 <div class=
"para arg">
31 <dd>Pointer to the blank directory object.
</dd>
33 <dd>Pointer to the file information structure to store the information about the found item.
</dd>
35 <dd>Pointer to the null-terminated string that specifies the
<a href=
"filename.html">directory name
</a> to be opened.
</dd>
37 <dd>Pointer to the nul-terminated string that specifies the name matching pattern to be searched for. It is referred by also subsequent
<tt>f_findnext
</tt> function, so that the string must be valid while the successive function calls.
</dd>
42 <div class=
"para ret">
43 <h4>Return Values
</h4>
45 <a href=
"rc.html#ok">FR_OK
</a>,
46 <a href=
"rc.html#de">FR_DISK_ERR
</a>,
47 <a href=
"rc.html#ie">FR_INT_ERR
</a>,
48 <a href=
"rc.html#nr">FR_NOT_READY
</a>,
49 <a href=
"rc.html#np">FR_NO_PATH
</a>,
50 <a href=
"rc.html#in">FR_INVALID_NAME
</a>,
51 <a href=
"rc.html#io">FR_INVALID_OBJECT
</a>,
52 <a href=
"rc.html#id">FR_INVALID_DRIVE
</a>,
53 <a href=
"rc.html#ne">FR_NOT_ENABLED
</a>,
54 <a href=
"rc.html#ns">FR_NO_FILESYSTEM
</a>,
55 <a href=
"rc.html#tm">FR_TIMEOUT
</a>,
56 <a href=
"rc.html#nc">FR_NOT_ENOUGH_CORE
</a>,
57 <a href=
"rc.html#tf">FR_TOO_MANY_OPEN_FILES
</a>
62 <div class=
"para desc">
64 <p>After the directory specified by
<tt class=
"arg">path
</tt> could be opened, it starts to search the directory for items with the name specified by
<tt class=
"arg">pattern
</tt>. If the first item is found, the information about the object is stored into the file information structure. For more information about file information structure, refer to
<a href=
"readdir.html"><tt>f_readdir
</tt></a> function.
</p>
65 <p>The matching pattern can contain wildcard characters (
<tt>?
</tt> and
<tt>*
</tt>). A
<tt>?
</tt> matches an any character and an
<tt>*
</tt> matches an any string in length of zero or longer. When support of long file name is enabled, only
<tt>fname[]
</tt> is tested at
<tt>_USE_FIND ==
1</tt> and also
<tt>altname[]
</tt> is tested at
<tt>_USE_FIND ==
2</tt>. In this revision, there are some differences listed below between FatFs and standard systems in matching condition.
</p>
67 <li><tt>"*.*"</tt> never matches any name without extension while it matches any name with or without extension at the standard systems.
</li>
68 <li>Any patterns terminated with a period never matches any name while it matches any name without extensiton at the standard systems.
</li>
69 <li><a href=
"filename.html#case">DBCS extended characters
</a> are compared in case-sensitive at LFN with non-Unicode configuration.
</li>
74 <div class=
"para comp">
76 <p>This is a wrapper function of
<a href=
"opendir.html"><tt>f_opendir
</tt></a> and
<a href=
"readdir.html"><tt>f_readdir
</tt></a> function. Available when
<tt>_USE_FIND
>=
1</tt> and
<tt>_FS_MINIMIZE
<=
1</tt>.
</p>
80 <div class=
"para use">
83 <span class=
"c">/* Search a directory for objects and display it */
</span>
85 void find_image (void)
87 FRESULT fr;
<span class=
"c">/* Return value */
</span>
88 DIR dj;
<span class=
"c">/* Directory search object */
</span>
89 FILINFO fno;
<span class=
"c">/* File information */
</span>
91 fr = f_findfirst(
&dj,
&fno,
"",
"dsc*.jpg");
<span class=
"c">/* Start to search for photo files */
</span>
93 while (fr == FR_OK
&& fno.fname[
0]) {
<span class=
"c">/* Repeat while an item is found */
</span>
94 printf(
"%s\n", fno.fname);
<span class=
"c">/* Display the object name */
</span>
95 fr = f_findnext(
&dj,
&fno);
<span class=
"c">/* Search for next item */
</span>
103 <div class=
"para ref">
105 <p><tt><a href=
"findnext.html">f_findnext
</a>,
<a href=
"closedir.html">f_closedir
</a>,
<a href=
"sdir.html">DIR
</a>,
<a href=
"sfileinfo.html">FILINFO
</a></tt></p>
108 <p class=
"foot"><a href=
"../00index_e.html">Return
</a></p>