El código:
Código
// Includes de la shell #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <dirent.h> #include <sys/dir.h> #include <sys/stat.h> #include <sys/types.h> #include <errno.h> #define MAXENTRADA 2048 void deltree (char ** argv, int argc) { struct dirent *ent; struct stat fStat; DIR *dir = opendir(argv[1]); if(dir == NULL) { } else { while ( (ent=readdir(dir)) != NULL ) { stat(ent->d_name, &fStat); if ( S_ISDIR(fStat.st_mode) ) } closedir(dir); ent = NULL; } }
el stat(ent->d_name, &fStat); devuelve -1 pero cuando hago un stat("dir/archivo_válido", &fStat); funciona correctamente. Es decir, que cuando le paso un "string" a stat, funciona correctamente pero cuando le paso el d_name del struct dirent, su salida es -1...
¿Alguna ayudita para poder solucionar el código?
¡Gracias de antemano!