Funcion S_ISDIR de stat no me funciona
Publicado por Carlos Gomez (3 intervenciones) el 12/12/2015 17:03:14
Buenas! Estoy haiendo un programita que recorre un directorio archivo por archivo y el cual tiene que ignorar los directorios, pero cuando uso la funcion S_ISDIR la cual deberia retornar 0 si no es un directorios, me retorna 0 en todos los casos, directorios y no directorios.
Aqui les pongo el codigo de la funcion.
Mucho supiera agradecer su ayuda.
Aqui les pongo el codigo de la funcion.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void procesarDirectorio()
{
/* Con un puntero a DIR abro el directorio */
DIR *dir;
/* En *ent habrá información sobre el archivo que se está "sacando" a cada momento */
struct dirent *ent;
struct stat estru;
char * pch;
int comp,cont=0;
/* Se empieza a leer en el directorio actual */
dir = opendir (DIRECTORIO);
printf("[OK] Verificando cambios en el directorio.\n");
while ((ent = readdir (dir)) != NULL)
{
/* Descartar los directorios . y .. */
if ( (strcmp(ent->d_name, ".")!=0) && (strcmp(ent->d_name, "..")!=0) )
{
stat(ent->d_name, &estru);
printf("%d",S_ISDIR(estru.st_mode));
if (S_ISDIR(estru.st_mode)!=0){
comp = subString(ent->d_name,".gz");
}
}
}
}
Mucho supiera agradecer su ayuda.
Valora esta pregunta


0