/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Ayuda con la funcion stat()!!!! tamaño de los archivos!

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
alfred_oh



Registrado: 01 Oct 2011
Mensajes: 1

MensajePublicado: 01/10/2011 6:22 am
Título: Ayuda con la funcion stat()!!!! tamaño de los archivos!

Buenas, estoy haciendo un programa que permite conocer el tamaño del los archivos contenidos en un directorio. El código es el siguiente:

DIR *dirp;
dirp = opendir(argv[1]);
struct dirent *dirlei;


if(strcmp(argv[2],"-s")==0)
{
while((dirlei = readdir(dirp)) != NULL)
{
fprintf(stdout,
"%s ",dirlei->d_name);
struct stat mem;
if(stat(dirlei->d_name,&mem)!=EBADF)
{
fprintf(stdout,"(%d)\n",mem.st_size);
}
}
closedir(dirp);
exit(0);
}

El problema es que cuando esta listando los directorios con sus respectivos tamaños solo lo hace bien desde el directorio donde estoy. Luego cuando le pongo la ruta de otro directorio no coloca los tamaños que deberían ser, sino que los elementos pueden tener un tamaño de 2048 o 191. Alguien tiene alguna idea de lo que podría estar fallando??? Esta mi bucle mal implementado??? 1000 Gracias!!!!!!!
Volver arriba
_Leo_



Registrado: 20 Oct 2005
Mensajes: 399
Ubicación: Buenos Aires, Argentina

MensajePublicado: 10/10/2011 6:02 pm
Título:

Veo que no estás controlando que opendir() haya tenido éxito. Es probable que el problema esté ahí y no lo sabes porque el programa sigue corriendo aunque no haya podido abrir el directorio.
_________________
_Leo_
Daphne - administrador de tareas
Cine, tecnología, sociedad
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com