• Domingo 15 de Diciembre de 2024, 02:51

Autor Tema:  Tamaño De Un Archivo  (Leído 1048 veces)

gacamoke

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Tamaño De Un Archivo
« en: Martes 25 de Julio de 2006, 22:49 »
0
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++;
         }
         }
}

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Tamaño De Un Archivo
« Respuesta #1 en: Miércoles 26 de Julio de 2006, 00:06 »
0
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).
La imaginación es el límite.
Hardware & Software | Mexchip

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Tamaño De Un Archivo
« Respuesta #2 en: Miércoles 26 de Julio de 2006, 00:08 »
0
Pues crea una estructura con dos miembros. y luego declara un arreglo tipo <NOMBRE_ESTRUCTURA>.