|
问题:只能遍历出2层目录里所有的的MP3文件和文件夹,但是超出2层文件夹直接傻眼。请问这是为什么?
开始怀疑是stack 的问题,加大尺寸之后白搭。求大神啊!
static euint32 MP3count=0; //MP3数量总数
static euint32 filecount=0;//文件夹总数
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;
}
|
|