首页 > 代码库 > FATFS 初学之 f_chdir/ f_chdrive
FATFS 初学之 f_chdir/ f_chdrive
1 FRESULT f_chdir ( 2 const TCHAR *path /* Pointer to the directory path */ 3 ) 4 { 5 FRESULT res; 6 DIR dj; 7 DEF_NAMEBUF; 8 9 10 res = chk_mounted(&path, &dj.fs, 0);11 if (res == FR_OK) {12 INIT_BUF(dj);13 res = follow_path(&dj, path); /* Follow the path */14 FREE_BUF();15 if (res == FR_OK) { /* Follow completed */16 if (!dj.dir) {17 dj.fs->cdir = dj.sclust; /* Start directory itself */18 } else {19 if (dj.dir[DIR_Attr] & AM_DIR) /* Reached to the directory */20 dj.fs->cdir = LD_CLUST(dj.dir);21 else22 res = FR_NO_PATH; /* Reached but a file */23 }24 }25 if (res == FR_NO_FILE) res = FR_NO_PATH;26 }27 28 LEAVE_FF(dj.fs, res);29 }
函数功能:f_chdir函数改变一个驱动器的当前目录。
描述:
f_chdir函数当_FS_RPATH == 1时可用。
f_chdir函数改变一个逻辑驱动器的当前目录。当一个逻辑驱动器被自动挂载时,它的当前目录被初始化为根目录。注意:当前目录被保存在每个文件系统对象中,因此它也影响使用同一逻辑驱动器的其它任务。
f_chdrive:
1 FRESULT f_chdrive ( 2 BYTE drv /* Drive number */ 3 ) 4 { 5 if (drv >= _VOLUMES) return FR_INVALID_DRIVE; 6 7 CurrVol = drv; 8 9 return FR_OK;10 }
函数功能:f_chdrive函数改变当前驱动器。
描述:
f_chdrive函数当_FS_RPATH == 1时可用。
f_chdrive函数改变当前驱动器。当前驱动器号初始值为0,注意:当前驱动器被保存为一个静态变量,因此它也影响使用文件函数的其它任务。
例:
1 // 改变当前驱动器的当前目录(根目录下的dir1)2 f_chdir("/dir1");3 4 // 改变驱动器2的当前目录(父目录)5 f_chdir("2:..");
PS:还是不知道有什么作用....
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。