Parcourez toutes les informations de fichier sous le répertoire, le répertoire peut contenir des sous-répertoires. Si le répertoire est toujours ouvert, ce sous-répertoire doit être ouvert à nouveau. Donc, cela doit utiliser la récursivité, en fait, de nombreux parcours ont souvent besoin d'utiliser la récursivité, car il y a plus d'une couche à traverser.
int ReadDir (const char * strpathname) { while (1) { if ((stdinfo = readdir (dir)) == 0) break;
if(strncmp(stdinfo->d_name,".",1)==0) continue; //以.开始的文件不读,这是隐藏文件
if(stdinfo->d_type==8) //如果是文件,显示出来
printf("name=%s/%s\n",strpathname,stdinfo->d_name);
if(stdinfo->d_type==4)
{
sprintf(strchdpath,"%s/%s",strpathname,stdinfo->d_name);
ReadDir(strchdpath);
}
}
} Le
type 4 est un répertoire, alors le chemin complet de ce sous-répertoire doit être passé à la fonction de traversée.
int ReadDir (const char * strpathname)
{ ReadDir (strchdpath); c'est la récursivité }
Un rappel que la récursivité est souvent utilisée dans les classes de parcours.