|
发表于 2019-10-26 14:35:16
|
显示全部楼层
新版要这么获取
static void ViewRootDir(void)
{
FRESULT result;
uint32_t cnt = 0;
FILINFO fno;
/* 挂载文件系统 */
result = f_mount(&fs, DiskPath, 0); /* Mount a logical drive */
if (result != FR_OK)
{
printf("挂载文件系统失败 (%s)\r\n", FR_Table[result]);
}
/* 打开根文件夹 */
result = f_opendir(&DirInf, DiskPath); /* 如果不带参数,则从当前目录开始 */
if (result != FR_OK)
{
printf("打开根目录失败 (%s)\r\n", FR_Table[result]);
return;
}
printf("属性 | 文件大小 | 短文件名 | 长文件名\r\n");
for (cnt = 0; ;cnt++)
{
result = f_readdir(&DirInf, &FileInf); /* 读取目录项,索引会自动下移 */
if (result != FR_OK || FileInf.fname[0] == 0)
{
break;
}
if (FileInf.fname[0] == '.')
{
continue;
}
/* 判断是文件还是子目录 */
if (FileInf.fattrib & AM_DIR)
{
printf("(0x%02d)目录 ", FileInf.fattrib);
}
else
{
printf("(0x%02d)文件 ", FileInf.fattrib);
}
f_stat(FileInf.fname, &fno);
/* 打印文件大小, 最大4G */
printf(" %10d", (int)fno.fsize);
printf(" %s\r\n", (char *)FileInf.fname); /* 长文件名 */
}
/* 卸载文件系统 */
f_mount(NULL, DiskPath, 0);
}
|
|