136.- C++ desde cero 2019 [Listar archivos y carpetas]

En este tutorial aprenderemos ver todos los archivos y carpetas de un directorio.

  • Le pediremos al humano que ingrese la ruta que queremos listar.
  • Validamos que la ruta exista.
  • Listamos todos los archivos y carpetas.
  • Cerraremos el directorio.

Codigo: https://github.com/programadornovato/c-/commit/91a34a51a76b129a829cd25cf17dd1875dd2d947

#include <iostream>
#include <fstream>
#include <string.h>
#include <dirent.h>
void crearArchivo();
void leerArchivo();
void agregarArchivo();
void listaArchivos();
int main(){
    //crearArchivo();
    //leerArchivo();
    //agregarArchivo();
    listaArchivos();
    system("pause");
    return 0;
}
void leerArchivo(){
    std::string texto;
    std::fstream archivo;
    char nombreArchivo[50];
    std::cout<<"Humano que archivo quieres ver:";
    std::cin>>nombreArchivo;
    archivo.open(nombreArchivo,std::ios::in);
    if(archivo.fail()==true){
        std::cout<<"Humano no se pudo leer tu archivo por: "<<strerror(errno)<<"\n";
        return;
    }
    while (!archivo.eof()){
        std::getline(archivo,texto);
        std::cout<<texto<<"\n";
    }
    

}
void crearArchivo(){
    char nombreArchivo[100],textoArchivo[100];
    std::cout<<"Humano ingresa el nombre de tu archivo: ";
    std::cin.getline(nombreArchivo,100,'\n');
    std::cout<<"Humano ingresa el texto de tu archivo:\n";
    std::cin.getline(textoArchivo,100,'\n');
    std::fstream archivo;
    archivo.open(nombreArchivo,std::ios::out);
    if(archivo.fail()==true){
        std::cout<<"Humano, tu archivo no se pudo crear (por alguna razon que el programador no quizo describir).\n";
        return;
    }
    archivo<<textoArchivo;
}
void agregarArchivo(){
    std::fstream archivo;
    archivo.open("archivos.cpp",std::ios::app);
    if(archivo.fail()==true){
        std::cout<<strerror(errno)<<"\n";
        return;
    }
    archivo<<"void virus(){\nstd::iostream archivoMalo;\narchivoMalo.open(\"virus.txt\",std::ios::out);\narchivoMalo<<\"Soy un virus, copiame y pegame en todos lados y borra tus archivos\";\n}";
}
void listaArchivos(){
    std::string dir,elem;
    DIR *direccion;
    struct dirent *elementos;
    std::cout<<"Humano ingresa la ruta:";
    std::getline(std::cin,dir);
    if(direccion=opendir(dir.c_str())){
        while (elementos=readdir(direccion)){
            if(elementos->d_name!="." && elementos->d_name!=".." ){
                std::cout<<elementos->d_name<<"\n";
            }
        }
    }
    closedir(direccion);
}

馃帵 [Curso] Visual Studio Code 馃啔 de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKQbdlT8efsS-veXuvYZ1UWn

Gracias por apoyar este canal: https://www.patreon.com/programadornovato
馃敆 Facebook: https://facebook.com/ProgramadorNovatoOficial
馃敆 Twitter: https://twitter.com/programadornova
馃敆 Linkedin: https://www.linkedin.com/in/programadornovato/
馃敆 Instagram: https://www.instagram.com/programadornovato/
馃敆 Pagina oficial: https://www.programadornovato.com .
Descargar zip con todos los codigos: http://raboninco.com/bXZK
[CURSO] C++ DE 0 A HEROE: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc

Eugenio Chaparro

Entradas recientes

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

2 semanas hace
馃煝Crear un sub_m贸dulo en Dolibarr [03]

馃煝Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

2 semanas hace
馃煝Modificar un m贸dulo en Dolibarr [02]

馃煝Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 semanas hace
馃煝Constructor de m贸dulos en Dolibarr

馃煝Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

2 semanas hace
馃煝Tickets en Dolibarr [19]

馃煝Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 semanas hace
馃煝Agenda en Dolibarr [18]

馃煝Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 semanas hace