(一)、获得指定路径下,指定格式的文件和文件夹的数量
/************************************************************************/****************************************************************************
* 功 能:获得指定路径下,指定格式的文件和文件夹的数量
*---------------------------------------------------------------------------*
* 入口参数:path : 要检索的文件路径 ;
* name : 要检索的文件扩展名
* result : 储存结果的数据区指针;
* 其中:result[0]:文件数量;result[1]:文件夹数量
* 出口参数:NULL
****************************************************************************/
void Ex_GetFileAndDir_Number(char *path,char *name,INT16U *result)
{
FILINFO fno;
BYTE res,i;
result[0] = result[1] = 0;
res = f_opendir(&search_dir, path);
if (res) return;
for(;;) {
res = f_readdir(&search_dir, &fno);
if ((res != FR_OK) || !fno.fname[0])
break;
if (fno.fattrib & AM_DIR) {
result[1]++;
} else {
i=strlen(fno.fname); //得到当前查询的文件名长度
if(i>4)//文件名的长度必须大于4(例如*.txt)
{
//从文件名的倒数第4个的位置开始比较字符串:比较文件的后缀
//不区分大小写比较,格式:例如.MP3
if(my_memicmp(&fno.fname[i-4],name,4)==0)
{
result[0]++;
}
}
}
}
} |