|
問題:只能遍歷出2層目錄里所有的的MP3文件和文件夾,但是超出2層文件夾直接傻眼。請(qǐng)問這是為什么?
開始懷疑是stack 的問題,加大尺寸之后白搭。求大神啊!
static euint32 MP3count=0; //MP3數(shù)量總數(shù)
static euint32 filecount=0;//文件夾總數(shù)
void FindMP3fileALL(euint8* filename)
{
euint8 FileNameu[12];
euint32 FileSizeu;
euint8 Attributeu;
DirList localist;
EmbeddedFileSystem fts;
//root directory
/* Print a list of all files and their filesize */
while(ls_getNext(&localist)==0)
{
//文件/文件夾
FileSizeu=0; //
Attributeu=0; //
memcpy(FileNameu,(void*)0,12);
memcpy(FileNameu,&localist.currentEntry.FileName[0],12);
FileSizeu=localist.currentEntry.FileSize;
Attributeu=localist.currentEntry.Attribute ;
if((FileSizeu==0)&&(FileNameu!=0))//是文件夾-表示有子目錄
{
FindMP3fileALL((euint8*)&FileNameu); //打開子目錄
filecount++;
}
else
if(FileSizeu>0) //是文件
{
//是否為MP3文件
if((FileNameu[8]==0x4d)&&(FileNameu[9]==0x50)&&(FileNameu[10]==0x33))
{
MP3count++; //MP3文件
}
}
}
return;
}
|
|