Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/08/2011, 17:33
mellomda
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Buscar Archivos .DAT en C++

si perdon, es windows 7 64 bits, pero si me podes ayudar, me serviria cualquier informacion sobre cualquier sist operativo (siempre hablando de UNIX). De paso te comento que encontre esto en internet:

#include <iostream>
#include <windows.h>

using namespace std;

void listarDirectorio(char* dir)
{
WIN32_FIND_DATA findFileData;
HANDLE hFind;
strcat (dir,"\\*");
hFind = FindFirstFile(dir, &findFileData);
if (hFind == INVALID_HANDLE_VALUE)
std::cout << "Ruta incorrecta";
else
{
std::cout << findFileData.cFileName << '\n'; //El primer fichero
// Listamos todos los ficheros restantes
while (FindNextFile(hFind, &findFileData) != 0)
std::cout << findFileData.cFileName << '\n';
}
}

//y Luego para llamarla seria asi:
void main()
{
char* dir = new char[MAX_PATH];
cout << "Introduzca el nombre de la ruta a explorar: ";
cin >> dir;
cout << "\n\n";
listarDirectorio(dir);
delete(dir);
}

Pero tengo dos problemas con esta funcion:
1- Me lista todos los archivos y carpetas en el directoio, y lo que yo quiero es listar una extension en particuloar (por ejemplo, todos los archivos .DAT o todos los .TXT) y nose como modificar este codigo para lograr eso.
2- El Programa corre bien y la funcion tambien, pero da un error en tiempo de ejecucion en la instruccon Delete de la variable dir (si saco esa instruccion el error desaparece, pero ovbiamente no elimino el espacio asignado en memoria).

Desde ya muchas gracias...