En este capítulo del tutorial de C++ crearemos una función llamada list_dir(string dir) que nos pemitirá listar los elementos (archivos y carpetas) de un determinado directorio, para ello trabajaremos con la librería dirent.h para manejar directorios y su estructura de datos llamada dirent que nos permitirá ir accediendo uno a uno a los elementos del directorio, usaremos el miembro d_name de la estructura de datos dirent para extraer el nombre de cada elemento.
list-dir.cpp
#include <iostream>
#include <dirent.h>
using namespace std;
void list_dir(string dir)
{
DIR * directorio;
struct dirent * elemento;
string elem;
if (directorio = opendir(dir.c_str()))
{
while (elemento = readdir(directorio))
{
elem = elemento->d_name;
if (elem != "." && elem != "..") cout << elem << endl;
}
}
closedir(directorio);
}
void init()
{
cout << "Ruta del directorio a listar: ";
string dir;
getline(cin, dir);
list_dir(dir);
init();
}
int main(int argc, char *argv[])
{
init();
system("PAUSE");
return 0;
}
No hay comentarios:
Publicar un comentario