Usando la funcion readdir().
Resulta que al ejecutar el programa, la primera entrada que toma de direcctorio con readdir, es basura, y las demás si que las pilla bien.
El caso es que lo he probado en otro pc que tiene ubuntu en lugar de mandriva, y ahí no da ese error?¿?¿
No tiene sentido, no?
dejo aqui parte del codigo, amos, el uso más simple que le puedo poner.
Código:
DIR * direc; char ruta [ANCHOBUFFER]; struct dirent * entrada; struct stat *info; [...] if ((direc=opendir(ruta))==NULL){ fprintf(stderr,"Fallo en la apertura del directorio %s. Error:%s\n",ruta, strerror(errno)); exit(EXIT_FAILURE); } while ((entrada=readdir(direc))!=NULL){ printf("Entrada actual:%s\n",entrada->d_name); //AQUI ES DONDE FALLA } [...]