Tendría que usar std :: experimental :: filesystem :: recursive_directory_iterator – cppreference.com – se agregó recientemente a C ++ como una especificación técnica y el soporte está apareciendo en Microsoft y pronto GCC, pero siempre puede usar boost: Filesystem Referencia, por ejemplo así:
#include
#include
#incluye
#include
#include
#include
espacio de nombres fs = boost :: sistema de archivos;
int main ()
{
std :: string w = “prueba”; // palabra a buscar
for (auto & p: fs :: recursive_directory_iterator (“C:”)) // ruta raíz
if (p.path (). extension () == “.txt”) {// extensión para filtrar
auto f = std :: ifstream (p.path (). c_str ()); //
if (find (std :: istream_iterator (f), {}, w)! = std :: istream_iterator {})
std :: cout << "Encontrado" << std :: citado (w) << "en" << p << '\ n';
}
}
Aquí hay un ejemplo que se ejecuta en Visual Studio en línea (ya que mencionas “unidad” supongo que Windows): compila Visual Studio C ++ en línea
Funciona de la misma manera en Linux, excepto que la ruta raíz se ve diferente: Coliru Viewer
- Cómo convertir muchos (alrededor de 1000) archivos PDF escaneados en archivos .txt
- ¿Por qué PHP es más adecuado para el uso de software de nombre de usuario, contraseña y código de acceso y formato de archivo?
- Cómo transferir un PDF a una imagen claramente
- Cómo convertir AVI a MP4
- Cómo convertir VCD a MP4