Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2007, 08:57
lukas182
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 10 meses
Puntos: 0
Lectura de Ficheros/Directorios en Unix

Hola estoy intentando leer en un directorio los ficheros q contiene para asi poder sakar su tamaño y GID , el programa seria el siguiente :


Ahora hice algunos cambios :
#include<stdio.h>
#include<dirent.h>
#include<sys/stat.h>
#include<sys/types.h>

int main(){

DIR *dir_act;
struct dirent *dirp;
struct stat fich;
char *nombre;
char *ruta= "/bin";
int arch_gid;
double siz_arch;

if((dir_act = opendir(ruta)) == NULL)
printf("Error al abrir el directorio\n");

dirp = readdir(dir_act);

while((dirp = readdir(dir_act)) != NULL){

nombre=dirp->d_name;
printf("El nombre del archivo es : %s\n" , nombre );
stat(nombre,&fich);
arch_gid = fich.st_gid;
siz_arch= fich.st_size;

printf("GID -> %d \n", arch_gid);
printf("tamaño -> %f \n", siz_arch);

dirp=readdir(dir_act);
}
closedir(dir_act);

}

El problema lee los archivos y me dice el nombre correcto de kada uno pero el GID y el Tamaño del archivo es incorrecto, yo creo que el problema puede ser en el campo ruta , ya ke kuando le digo q busque en la ruta "." me saka los resultados correctos. No entiendo el error, si alguien le puede echar un ojo me haria un gran favor.

Gracias :)