Listar directorios recursivamente

  • 0 Respuestas
  • 2372 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado linkgl

  • *
  • Underc0der
  • Mensajes: 45
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Listar directorios recursivamente

  • en: Agosto 14, 2011, 02:56:00 pm
El código salió ayudando a un usuario en un foro, lista los directorios que hay dentro de una ruta y los subdirectorios todoosss también xD perfecto como para hacer un buscador ¿?, no me molesté en optimizarlo porque precisamente no fue algo planeado xD

xD
Código: (c) You are not allowed to view links. Register or Login
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
 
 
void listarr(LPSTR szDirectorio,LPSTR szNDirectorio)
{
 
  int decoracion_bonita_de_linkgl=1;
  WIN32_FIND_DATA wfd;
  HANDLE ff;
  ff=FindFirstFile(szDirectorio,&wfd);
  if(ff!=0)
  {
    while(FindNextFile(ff,&wfd)!=0)
    {
      if(wfd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)
      {
        if((strcmpi(wfd.cFileName,".")!=0)&&(strcmpi(wfd.cFileName,"..")!=0))
        {
          //printf("%s \n",wfd.cFileName);
          char temp[260]={'\0'};
          char szCDirectorio[260]={'\0'};
          strcpy(szCDirectorio,szNDirectorio);
          strcat(szCDirectorio,wfd.cFileName);
          strcat(szCDirectorio,"/");
          strcpy(temp,szCDirectorio);
          strcat(temp,"*.*");
           
          printf("%s\n",temp);
          //->impresion
          char imp[260]={'\0'};
          strcpy(imp,szNDirectorio);
          strcat(imp,wfd.cFileName);
          strcat(imp,"/");
          //printf("%s\n",imp);
          listarr(temp,szCDirectorio);
        }
      }
    }
  }
  else
  {
    printf("handle error");
  }
}
int main()
{
  listarr("C:/*.*","C:/");
  printf("fin");
  getchar();
  return 0;
}
« Última modificación: Febrero 08, 2014, 05:45:51 pm por Expermicid »