Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/09/2013, 18:39
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: ¿Como obtener nombre de un directorio y su contenido?

La librería está bien (si es para el uso de opendir, readdir, closedir), pero la cosa está, ¿cómo lo estás usando? ¿podrías poner algo del código?

Te dejo un ejemplo de uso.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <dirent.h>
  5. #include <errno.h>
  6.  
  7. #ifndef PATH_MAX
  8.   #define PATH_MAX 255
  9. #endif
  10.  
  11. int main (int argc, char *argv[])
  12. {
  13.   DIR * dir;
  14.   struct dirent *dirs;
  15.   char path[PATH_MAX];
  16.  
  17.   path[PATH_MAX] = '\0';
  18.  
  19.   if (argc == 1)
  20.   {
  21.     fprintf(
  22.       stderr,
  23.       "Sintaxis: %s path_directorio\n",
  24.       argv[0]
  25.     );
  26.    
  27.     return EXIT_FAILURE;
  28.   }
  29.  
  30.   strncpy(path, argv[1], PATH_MAX-1);
  31.  
  32.   dir = opendir(path);
  33.  
  34.   if (dir == NULL)
  35.   {
  36.     fprintf(
  37.       stderr,
  38.       "No se puede abrir «%s»: %s\n",
  39.       path,
  40.       strerror(errno)
  41.     );
  42.    
  43.     return EXIT_FAILURE;
  44.   }
  45.  
  46.   while (dirs = readdir(dir), dirs != NULL)
  47.   {
  48.     if (strncmp(dirs->d_name, ".", PATH_MAX) == 0) continue;
  49.     if (strncmp(dirs->d_name, "..", PATH_MAX) == 0) continue;
  50.    
  51.     puts(dirs->d_name);
  52.   }
  53.  
  54.   closedir(dir);
  55.  
  56.   return 0;
  57. }

Última edición por guzzano; 13/09/2013 a las 19:45