[C con Clase] Directorios/Archivos en C
David lukas
davidlukas en hotmail.com
Sab Oct 6 16:42:44 CEST 2007
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);
}
Ahora lo le que hace es mostrarme todos los archivos de la ruta /bin pero sale el GID y el Tamaño erroneos , poniendo la ruta "." sale correctamente , no entiendo el error . (Es en linux).
Gracias! :D
From: davidlukas en hotmail.com
To: cconclase en listas.conclase.net
Date: Sat, 6 Oct 2007 08:08:53 +0000
Subject: [C con Clase] Directorios/Archivos en C
Hola , estoy intentando realizar una aplicación sobre Unix y estoy estancado en esta funcion :
#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);
nombre=dirp->d_name;
stat(nombre,&fich);
arch_gid = fich.st_gid;
siz_arch= fich.st_size;
printf("tamaño : %f \n", siz_arch);
return 0;
}
Lo que simplemente hace es , intenta coger el tamaño del primero archivo que se encuentra en esa ruta del directorio , pero me sale un resultado sin sentido : " tamaño : -163754450.000000 ";
Creo q el problema esta en la ruta , por ke si pongo "." , me sale los resultados correctos. Tb hay veces q poniendo otra runa me sale solo el primer resultado correcto y luego todo los demas del mismo tamaño q el primero , y no se por q :X .
Gracias :) .
Express yourself instantly with MSN Messenger! MSN Messenger
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071006/aeeadbd7/attachment.html>
Más información sobre la lista de distribución Cconclase