STM32/STM8技术william hill官网
直播中

王育来

7年用户 189经验值
私信 关注
[问答]

请问如何用f_unlink删除一个文件夹?

最近用STM32F107用SPI方式读写TF卡,
用到了FATFS文件系统
f_mkdir("0:/PHOTO1");                //创建PHOTO文件夹
创建了一个PHOTO1的文件夹
但是现在不知道怎么删除掉这个文件夹

查了一下,用f_unlink函数是没错的
但是试过以下的都不行:
f_unlink("0:/PHOTO1");
f_unlink("/PHOTO1");
f_unlink("PHOTO1");

所以发帖请教。

回帖(8)

常匡祈

2018-12-3 08:44:49
举报

孙婷婷

2018-12-3 08:59:03
楼主仿真一下看看提示的什么错误,记得先关闭路径:f_closedir
举报

王育来

2018-12-3 09:08:56
引用: TOPCB 发表于 2018-12-3 07:48
楼主仿真一下看看提示的什么错误,记得先关闭路径:f_closedir

仿真时返回值是FR_DENIED
这个f_closedir函数并没有在ff.c中
举报

王育来

2018-12-3 09:18:26
我查了一下,f_unlink()只能删除空文件夹和未打开的文件
我已经在0:/PHOTO1下创建了文件,
所以用这个f_unlink函数删除不了
有没有什么好办法解决?
举报

孙婷婷

2018-12-3 09:33:03
我看了一下,没有其他的函数了。只能自己遍历删除了。
举报

王育来

2018-12-3 09:52:43

感谢你的分享,我先试试
举报

王育来

2018-12-3 10:01:17

这里面的函数的输入形参的数据类型有问题:
这两个函数都是 INT8S* path
而 f_unlink 的输入形参数据类型是 const XCHAR *path
导致编译出错
请问是怎么解决的?
举报

常匡祈

2018-12-3 10:07:52
引用: UserMen 发表于 2018-12-3 08:50
这里面的函数的输入形参的数据类型有问题:
这两个函数都是 INT8S* path
而 f_unlink 的输入形参数据类型是 const XCHAR *path

你把函数输入参数类型改一下就行了,不然就强制转化下了.自已多研究下吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分