SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: gacamoke en Martes 25 de Julio de 2006, 22:49
-
Hola estoy tratando de listar en una tabla, los nombres de archivo y tamaño de un directorio .. el problema que tengo es que d_name (miembro de dirent) y st_size (miembro de stat) son de distinto tipo.. como los podria poner en un mismo array
while (entry = readdir("/dir"))
{
stat(entry->d_name,&buf);
if ( (strcmp (entry->d_name,".")) && (strcmp (entry->d_name,"..")) && (strcmp (entry->d_name, " ")))
{
if (entry->d_type = DT_REG)
{
fileInfo[0] = entry->d_name;
fileInfo[1] = buf.st_size;
i++;
}
}
}
-
Si son de distinto tipo no los puedes poner en un array, un array es un arreglo de datos todos del mismo tipo.
Lo que te podría funcionar, es que te crearas una estructura en la que tengas el nombre y el tamaño como elementos, ya luego puedes crear un array de estas estructuras.
Por otro lado, el miembro d_name es un arreglo de chars (una cadena), para poder copiarlo tendrás que reservar la memoria necesaria, no puedes simplemente usar una asignación =.
Saludos,
JJ (Geo).
-
Pues crea una estructura con dos miembros. y luego declara un arreglo tipo <NOMBRE_ESTRUCTURA>.