- Removed a long-pending limitation that f_getcwd and double-dot .. in the path name did not work on the exFAT volume. - Fixed f_readdir cannot detect end of directory and it leads the application process into infinite loop. (appeared at R0.15b) - Fixed dot names with terminating separator or duplicated separator are rejected when LFN is not enabled.
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | |
| <html lang="en">
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 | |
| <meta http-equiv="Content-Style-Type" content="text/css">
 | |
| <link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
 | |
| <title>FatFs - f_chdir</title>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| 
 | |
| <div class="para func">
 | |
| <h2>f_chdir</h2>
 | |
| <p>The <tt>f_chdir</tt> function changes the current directory of the logical drive.</p>
 | |
| <pre>
 | |
| FRESULT f_chdir (
 | |
|   const TCHAR* <span class="arg">path</span> <span class="c">/* [IN] Path name */</span>
 | |
| );
 | |
| </pre>
 | |
| </div>
 | |
| 
 | |
| <div class="para arg">
 | |
| <h4>Parameters</h4>
 | |
| <dl class="par">
 | |
| <dt>path</dt>
 | |
| <dd>Pointer to the null-terminated string that specifies the <a href="filename.html">directory</a> to be set as current directory.</dd>
 | |
| </dl>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para ret">
 | |
| <h4>Return Values</h4>
 | |
| <p>
 | |
| <a href="rc.html#ok">FR_OK</a>,
 | |
| <a href="rc.html#de">FR_DISK_ERR</a>,
 | |
| <a href="rc.html#ie">FR_INT_ERR</a>,
 | |
| <a href="rc.html#nr">FR_NOT_READY</a>,
 | |
| <a href="rc.html#np">FR_NO_PATH</a>,
 | |
| <a href="rc.html#in">FR_INVALID_NAME</a>,
 | |
| <a href="rc.html#id">FR_INVALID_DRIVE</a>,
 | |
| <a href="rc.html#ne">FR_NOT_ENABLED</a>,
 | |
| <a href="rc.html#ns">FR_NO_FILESYSTEM</a>,
 | |
| <a href="rc.html#tm">FR_TIMEOUT</a>,
 | |
| <a href="rc.html#nc">FR_NOT_ENOUGH_CORE</a>
 | |
| </p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para desc">
 | |
| <h4>Description</h4>
 | |
| <p>The <tt>f_chdir</tt> function changes the current directory of the logical drive. Also the current drive will be changed when FatFs is configured <tt><a href="config.html#str_volume_id">FF_STR_VOLUME_ID</a> == 2</tt> and an full path is specified. The current directory of each logical drive is set root directory on mount.</p>
 | |
| <p>Note that the current directory is retained in the each filesystem object and the current drive is retained in a static variable, so that they also affect other tasks that use the file functions.</p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para comp">
 | |
| <h4>QuickInfo</h4>
 | |
| <p>Available when <tt><a href="config.html#fs_rpath">FF_FS_RPATH</a> >= 1</tt>.</p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <div class="para use">
 | |
| <h4>Example</h4>
 | |
| <pre>
 | |
|     <span class="c">/* Set current direcoty of the current drive ("dir1" in the root directory) */</span>
 | |
|     <em>f_chdir</em>("/dir1");
 | |
| 
 | |
|     <span class="c">/* Set current direcoty of drive 2 (parent directory of current directory) */</span>
 | |
|     <em>f_chdir</em>("2:..");
 | |
| 
 | |
|     <span class="c">/* Set current direcoty of drive "sdcard" (<tt>FF_STR_VOLUME_ID == 1</tt>) */</span>
 | |
|     <em>f_chdir</em>("sdcard:/dir1");
 | |
| 
 | |
|     <span class="c">/* Set current direcoty of drive "flash" and set this drive current drive (<tt>FF_STR_VOLUME_ID == 2</tt>) */</span>
 | |
|     <em>f_chdir</em>("/flash/dir1");
 | |
| </pre>
 | |
| </div>
 | |
| 
 | |
| <div class="para ref">
 | |
| <h4>See Also</h4>
 | |
| <p><tt><a href="chdrive.html">f_chdrive</a>, <a href="getcwd.html">f_getcwd</a></tt></p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <p class="foot"><a href="../index.html">Return</a></p>
 | |
| </body>
 | |
| </html>
 |