Salve a tutti sto cercando di fare un programmino in C (uso linux) che cerca ricorsivamente i file con una certa estensione nel sottoalbero radicato nella directory (estensione e directory passati come argomento). Sto trovando problemi sul "percorrere" ricorsivamente tutto il sottoalbero ovvero a cercare file anche nelle sottodirectory presenti in quella passata come argomento...
Questo è quanto ho fatto....
#include<stdio.h>
#include<sys/stat.h>
#include<errno.h>
#include<stdlib.h>
#include<dirent.h>
#include<stdarg.h>
#include<limits.h>
#include<string.h>
#include<time.h>
void ricors(const char estensione[],const char nomedirectory[]){
struct stat attr;
char dbuf[PATH_MAX+1];
DIR * fh ;//puntatore ad una struttura DIR
struct dirent *fdata;
struct stat buf;
if((fh=opendir(nomedirectory))==NULL){
perror("ERRORE 1");
exit(errno);
}
puts("\nElenco directory:\n");
while((fdata = readdir (fh))!=NULL){
if(strstr(fdata->d_name,estensione)){
realpath(fdata->d_name,dbuf);
printf("[%s]",dbuf);
stat(nomedirectory,&attr);
printf("%s\n",ctime(&attr.st_mtime));
}
}
}
int main(int argc, char *argv[])
{
if(argc==3){
printf("Controllo esistenza directory.. \n");
ricors(argv[1],argv[2]);
}
/*else if(argc==2){
crea funzione che cerca a partire dalla directory corrente
*/
}
Qualcuno può darmi cortesemente una mano?