Wenas
parecería una pregunta tonta pero me he dado cuenta que no hay mucha información al respecto:
¿alguien sabe cómo trabajar con directorios en C++?
es decir:
-Obtener los archivos del directorio actual (nombre y extensión) y sus subdirectorios
-Obtener el directorio actual
-Obtener las unidades disponibles (C:, D:, A:, etc)
-Obtener atriburos de los archivos
-crear nuevos directorios
-etc...
Las funciones del API de Windows son:
Directorio actual: GetCurrentDirectory
Crear un directorio: CreateDirectory
Listar ficheros: FindFirstFile, FindNextFile, FindClose
http://msdn.microsoft.com/library/default....t_functions.aspTambién tienes clases de las MFC para hacer estas cosas, por ejemplo listar ficheros, con la clase CFileFind, etc.
un saludo
No existen unas funciones standard aceptadas por el comité ANSI, así que es algo complicadito....
Algunos compiladores tienen un dir.h con funciones para ello, si usas VC++ quizá tengas un direct.h con las mismas funciones pero con el "_" delante para delatar que están fuera de asegurar compatibilidad.
Busca en la documentación de tu compilador "chdir" y te aparecerán estas funciones que necesitas.
Saludos.
adios porteabilidad :(
en fin, probaré eso que me han dicho.
Gracias (ole)
Hola!
En la libreria boost (
www.boost.org ) hay unos modulos para lo que quieres.
Es algo del estilo:
std::string directory = "c:/"
boost::filesystem::directory_iterator i( directory );
boost::filesystem::directory_iterator end_directory;
while( i != end_directory ) {
bool is_directory = boost::filesystem::is_directory( *i );
std::string name = directory + i->leaf( );
if( is_directory ) {
...
} else {
...
}
}
En la documentacion de boost encontraras lo que necesites.
Un saludote!!
Citaradios porteabilidad
si lo quieres hacer portable _Grey que ha dado la solucion
CitarBusca en la documentación de tu compilador "chdir" y te aparecerán estas funciones que necesitas