Hola,
Estoy intentando hacer un codigo que me liste todos los archivos y carpetas ( y los archivos de las carpetas ) de una carpeta.
Es decir, si quiero escanear
C:\Prueba y en
Prueba tengo otra carpeta que se llama
Prueba2 que me liste los archivos de esa carpeta tambien. Este es mi codigo:
Código c++:
Ver original#include <iostream>
#include <string>
#include <windows.h>
#include <cstdio>
using namespace std;
void directorioDatos(char dir[], char formato[]){
WIN32_FIND_DATA wFindData;
HANDLE hFile;
BOOL NextFile = TRUE;
char temp[100]="";
sprintf(temp
, "C:\\Prueba\\%s*.%s", dir
, formato
); hFile = FindFirstFile( temp, &wFindData );
if( hFile != INVALID_HANDLE_VALUE ) {
while( NextFile ) {
if( wFindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) {
sprintf(temp
, "%s", wFindData.
cFileName); if(temp!="."&&temp!=".."){
sprintf(temp
, "%s%s\\", dir
, wFindData.
cFileName); cout<<"CARPETA: C:\\Prueba\\"<<temp<<"\n";
directorioDatos(temp,formato); // Escaneamos los archivos
}
}else{
cout<<"ARCHIVO: C:\\Prueba\\"<<dir<<wFindData.cFileName<<"\n";
}
NextFile = FindNextFile( hFile, &wFindData );
}
}
CloseHandle( hFile );
}
int main(int argc, char *argv[]) {
char dir[100]="",fomato[100]="*";
directorioDatos(dir,fomato);
return 0;
}
Gracias
Salu2