2011-08-04 18 views
7

ACTUALIZACIÓN: A partir de la adopción de C++ 17 existe un encabezado <filesystem> incluido en el idioma que hace exactamente esto. Consulte la documentación de su compilador para ver si es compatible.Atravesar un árbol de directorios en C++

pregunta original:

Esto es resultado de una curiosidad de la mina por un tiempo: ¿cómo se recorre un árbol de directorios sin necesidad de impulso o de cualquier biblioteca de terceros? Simplemente simple 'C++ (ejemplos en 98, 99, 01, 0x y 1x especificaciones están bien.)? Fue hecho el día antes de que existiera el impulso, así que debe haber una forma de hacerlo.

+2

Ya sabes, impulsar * es * C++, no es mágico. Si no puede usar el impulso, todavía puede * mirar * el impulso y ver cómo hace lo que hace. –

Respuesta

4

no hay funciones del sistema de archivos estándar, por lo que no recibirá respuestas que utilizan "simple C++". Para sistemas POSIX, se usa opendir. Para Windows, FindFirstFile. No estoy seguro de otros sistemas operativos.

Hay una razón por la que la gente recomienda Boost Filesystem — es portátil y se encarga de todos estos detalles para usted.

Cuestiones relacionadas