MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación > Webmasters - Diseño Web - Programación - Diseño gráfico
Funcion tree en C
(1/1)
Rubi22:
Hola buenas tardes:
Me han planteado un problema en C, hace tiempo que no programo en este lenguaje asi que he perdido algo de soltura. Mi programa debe simular la funcion tree de msdos. La unica pista que nos han dado es que deberemos utilizar la libreria dir.h.
Supuestamente entonces habra que mostrar el contenido del disco duro por pantalla, supongo que habra que utilizar las funciones argc y argv aunque no recuerdo muy bien como se utilizaban.
La cuestion es que si teneis alguna idea de como enfocar el programa os lo agradeceria. Un saludo a todos¡¡
destroyer:
hola:
Bienvenida al foro rubi22.. . A ver si los compañeros más "puestos" en este tema, te pueden dar una solución..
Un saludo
¿Ampliaste disco duro a tu pc?.- :wink:
ALP:
Hola.
Debes hacer una función recursiva, ya que es la forma más simple de recorrer el árbol de directorios. Utiliza las funciones findfirst() y findnext(). Si el archivo que encuentra es un directorio, vuelves a llamar a la función pasándole el nombre del directorio al que vas a entrar. Por ejemplo:
--- Código: ---tree(char *ruta)
{
static int nivel = 1;
if ( chdir(ruta) )
return;
if ( findfirst(...) )
return;
nivel++;
do {
imprime_nombre_fichero
si es directorio y no es "." ni ".."
tree(nombre);
} while( !findnext(...) );
nivel--;
if (nivel > 1)
chdir("..");
}
--- Fin del código ---
De esta forma, vas entrando en los directorios y mostrando su contenido. Con la variable nivel, sabes en qué subnivel te encuentras, y si tienes que volver al directorio anterior.
Es sólo una idea, pero puede ser un comienzo.
Un saludo.
Navegación
Ir a la versión completa