大学生
最后登录1970-1-1
在线时间 小时
注册时间2022-12-8
|
发表于 2023-5-8 08:35:29
|
显示全部楼层
for (;;){
//读取目录下的内容,再读会自动读下一个文件
res = f_readdir(&dir, &fno);
//为空时表示所有项目读取完毕,跳出
if (res != FR_OK || fno.fname[0] == 0) break;
#if _USE_LFN
fn = *fno.lfname ? fno.lfname : fno.fname;
#else
fn = fno.fname;
#endif
//点表示当前目录,跳过
if (*fn == '.') continue;
//目录,递归读取
if (fno.fattrib & AM_DIR){
//合成完整目录名
sprintf(&path[i], "/%s", fn);
//递归遍历
res = fatfs_scan_files(path);
//printf("文件编号%d到这里\r\n",file_num);
path[i] = 0;
//打开失败,跳出循环
if (res != FR_OK)
break;
}else{
printf("%d.%s/%s\r\n", ++file_num,path, fn);//输出文件名
sprintf(absolute_path,"%s/%s",path,fn);
strcpy(all_file_list[file_num-1],absolute_path); // 保存文件绝对路径到列表
}//else end
} //for end
点文件名需要排除的,估计你打印的是默认文件系统的第一个文件名,没有继续循环 |
|