0 1 min 3 semanas

Este programa permite buscar archivos dentro de un directorio (y sus subdirectorios) usando una palabra clave en el nombre del archivo.

Requisitos

  • C++17 o superior (usa <filesystem>)
  • Compilador moderno como g++ 8+, MSVC o Clang
#include <iostream>
#include <filesystem>
#include <string>

namespace fs = std::filesystem;

void buscarArchivos(const fs::path& ruta, const std::string& nombreBuscado) {
    try {
        for (const auto& entrada : fs::recursive_directory_iterator(ruta)) {
            if (entrada.is_regular_file()) {
                std::string nombreArchivo = entrada.path().filename().string();
                
                if (nombreArchivo.find(nombreBuscado) != std::string::npos) {
                    std::cout << "Encontrado: " << entrada.path() << std::endl;
                }
            }
        }
    } catch (const fs::filesystem_error& e) {
        std::cerr << "Error: " << e.what() << std::endl;
    }
}

int main() {
    std::string ruta;
    std::string nombreBuscado;

    std::cout << "Ingrese la ruta donde desea buscar: ";
    std::getline(std::cin, ruta);

    std::cout << "Ingrese el nombre o parte del nombre del archivo a buscar: ";
    std::getline(std::cin, nombreBuscado);

    fs::path directorio(ruta);

    if (fs::exists(directorio) && fs::is_directory(directorio)) {
        buscarArchivos(directorio, nombreBuscado);
    } else {
        std::cerr << "La ruta especificada no es válida." << std::endl;
    }

    return 0;
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *