最新版 FatFS f_chdir 详解
作者:fly 发布于:2014-3-24 16:36 分类:嵌入式
f_chdir
f_chdir函数改变一个驱动器的当前目录。
FRESULT f_chdir (
const XCHAR* Path /* 路径名的指针 */
);
参数
Path
'\0'结尾的字符串的指针,该字符串指定了将要进去的目录。
返回值
FR_OK (0)
函数成功。
FR_NO_PATH
找不到路径。
FR_INVALID_NAME
路径名无效。
FR_INVALID_DRIVE
驱动器号无效。
FR_NOT_READY
由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。
FR_DISK_ERR
由于底层磁盘I/O函数中的错误,而导致该函数失败。
FR_INT_ERR
由于一个错误的FAT结构或一个内部错误,而导致该函数失败。
FR_NOT_ENABLED
逻辑驱动器没有工作区。
FR_NO_FILESYSTEM
磁盘上没有有效的FAT卷。
描述
f_chdir函数当_FS_RPATH == 1时可用。
f_chdir函数改变一个逻辑驱动器的当前目录。当一个逻辑驱动器被自动挂载时,它的当前目录被初始化为根目录。注意:当前目录被保存在每个文件系统对象中,因此它也影响使用同一逻辑驱动器的其它任务。
例子
// 改变当前驱动器的当前目录(根目录下的dir1)
f_chdir("/dir1");
// 改变驱动器2的当前目录(父目录)
f_chdir("2:..");
GetTime(&RtcTemp);
//文件夹名字
memset(Pdf_Buf,0,sizeof(Pdf_Buf));
//strcat((char*)Pdf_Buf,"DataReport");/////-------------------------------------------------------
len = strlen((char*)Pdf_Buf);
len = Time2BCDStringWithoutChar(&RtcTemp,(Pdf_Buf+len),0,0);
//strcat((char*)Pdf_Buf,"");
err1 = f_mkdir((char*)Pdf_Buf);
err2 = f_chdir((char*)Pdf_Buf);
memset(Pdf_Buf,0,sizeof(Pdf_Buf));
strcat((char*)Pdf_Buf,"DataReport");/////-------------------------------------------------------
len = strlen((char*)Pdf_Buf);
len = Time2BCDStringWithoutChar(&RtcTemp,(Pdf_Buf+len),0,0);
strcat((char*)Pdf_Buf,".pdf");
err = f_open(pFile,(char*)Pdf_Buf, FA_READ|FA_OPEN_ALWAYS|FA_WRITE); //--打开文件