FatFs 0.09b 常用函数(三)

f_mkdir,f_unlink,f_rename


(1) f_mkdir  创建一个目录

FRESULT f_mkdir ( 
    const XCHAR* DirName
);

参数:

    DirName'\0'结尾的字符串指针,该字符串指定了待创建的目录名。

返回值:

    FR_OK (0)  函数成功。 

    FR_NO_PATH  找不到路径。 

    FR_INVALID_NAME  路径名无效。 

    FR_INVALID_DRIVE  驱动器号无效。 

    FR_DENIED  由于目录表或磁盘满,而导致目录不能被创建。 

    FR_EXIST  已经存在同名的文件或目录。 

    FR_NOT_READY  由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。 

    FR_WRITE_PROTECTED  存储介质被写保护。 

    FR_DISK_ERR  由于底层磁盘 I/O函数中的错误,而导致该函数失败。 

    FR_INT_ERR  由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。 

    FR_NOT_ENABLED  逻辑驱动器没有工作区。 

    FR_NO_FILESYSTEM  磁盘上没有有效的 FAT 卷。

举例:

res = f_mkdir("0:fd1");  
res = f_mkdir("0:fd1/fd2"); 
res = f_mkdir("0:fd1/fd2/fd3"); //目录要一层一层的建

 

(2) f_unlink  删除文件或者文件夹

FRESULT f_unlink ( 
    const XCHAR* FileName
);

参数:

    FileName'\0'结尾的字符串指针,该字符串指定了一个待移除的对象。

    删除文件夹不能为当前文件夹,不能为非空文件夹。

    删除文件不能为打开文件,不能为只读文件 

返回值:

    FR_OK (0)  函数成功。 

    FR_NO_FILE  找不到文件或目录。 

    FR_NO_PATH  找不到路径。 

    FR_INVALID_NAME  路径名无效。 

    FR_INVALID_DRIVE  驱动器号无效。 

    FR_DENIED  由于下列原因之一,而导致该函数被拒绝: 

  • 对象具有只读属性 

  • 目录不是空的 

    FR_NOT_READY  由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。 

    FR_WRITE_PROTECTED  存储介质被写保护。 

    FR_DISK_ERR  由于底层磁盘 I/O函数中的错误,而导致该函数失败。 

    FR_INT_ERR  由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。 

    FR_NOT_ENABLED  逻辑驱动器没有工作区。 

    FR_NO_FILESYSTEM  磁盘上没有有效的 FAT 卷。

举例:

f_unlink("0:1/2/3/temp.txt");  //删除“temp.txt”
f_unlink("0:1/2/3");  //删除文件夹“3”,删除文件夹前,要先删除内部的所有文件 		
f_unlink("0:1/2");  //删除文件夹“2”  
f_unlink("0:1");  //文件夹要一层一层删除

 

(3) f_rename  重命名或移动文件或文件夹

FRESULT f_rename ( 
    const XCHAR* OldName,
    const XCHAR* NewName
);

参数:

    OldName'\0'结尾的字符串的指针,该字符串指定了待被重命名的原对象名。 

    NewName'\0'结尾的字符串的指针,该字符串指定了重命名或移动后的新对象名,不能包含驱动器号。逻辑驱动器号由原名决定。

返回值:

    FR_OK (0)  函数成功。 

    FR_NO_FILE  找不到原名。 

    FR_NO_PATH  找不到路径。 

    FR_INVALID_NAME  文件名无效。 

    FR_INVALID_DRIVE  驱动器号无效。 

    FR_NOT_READY  由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。 

    FR_EXIST  新名和一个已存在的对象名冲突。 

    FR_DENIED  由于任何原因,而导致新名不能被创建。 

    FR_WRITE_PROTECTED  存储介质被写保护。 

    FR_DISK_ERR  由于底层磁盘 I/O函数中的错误,而导致该函数失败。 

    FR_INT_ERR  由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。 

    FR_NOT_ENABLED  逻辑驱动器没有工作区。 

    FR_NO_FILESYSTEM  磁盘上没有有效的 FAT 卷。

举例:

f_rename("0:1/t1.txt","1/t2.txt"); //将t1.txt重命名为t2.txt		
f_rename("0:1/t1.txt","2/t2.txt"); //将文件夹1里的t1.txt,移动到文件夹2中,并重新命名为t2.txt
f_rename("0:2","3"); //将文件夹2重新命名为3,如果此文件夹里有文件或者子文件夹,仍然可以执行	
f_rename("0:1/t","2/tt"); //将文件夹t从文件夹1中移动到文件夹2中,并重新命名为tt。如果原来的文件夹t中有文件或子文件夹,仍可以执行。
标签:C/MCUFatFs

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://evelee.net/blog/?id=44