Buscar un archivo en toda una unidad.
Publicado por Javier Irriaga (1 intervención) el 13/08/2005 05:01:19
Debo crear un programa en C que busque un archivo en todos los directorios y subdirectorios de una unidad lógica determinada. Hasta ahora lo más que he logrado es utilizar unas funciones de la librería <dir.h> como en el siguiente ejemplo:
#include <stdio.h>
#include <dir.h>
int main(void)
{
struct ffblk *pbloquefindfirst;
int yalohice=0;
printf("Lista de archivos del directorio actual: *.*\n");
yalohice = findfirst("*.*", pbloquefindfirst, 0);
while (!yalohice)
{
printf(" %s\n", pbloquefindfirst->ff_name);
yalohice = findnext(pbloquefindfirst);
}
return 0;
}
Pero OJO, sólo puedo recuperar los archivos del directorio actual, más no las entradas del directorio padre e hijo, osea "." y "..", y no sé cómo recuperar los directorios siguientes dentro del directorio en donde empiezo mi búsqueda. Porque si me los regresa con un chdir podría cambiar al siguiente directorio y ejecutar el código anterior.
#include <stdio.h>
#include <dir.h>
int main(void)
{
struct ffblk *pbloquefindfirst;
int yalohice=0;
printf("Lista de archivos del directorio actual: *.*\n");
yalohice = findfirst("*.*", pbloquefindfirst, 0);
while (!yalohice)
{
printf(" %s\n", pbloquefindfirst->ff_name);
yalohice = findnext(pbloquefindfirst);
}
return 0;
}
Pero OJO, sólo puedo recuperar los archivos del directorio actual, más no las entradas del directorio padre e hijo, osea "." y "..", y no sé cómo recuperar los directorios siguientes dentro del directorio en donde empiezo mi búsqueda. Porque si me los regresa con un chdir podría cambiar al siguiente directorio y ejecutar el código anterior.
Valora esta pregunta


0