Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Buscar Archivos .DAT en C++

Estas en el tema de Buscar Archivos .DAT en C++ en el foro de C/C++ en Foros del Web. Hola Quisiera saber si me podrian ayudar, estoy tratando de realizar un programa que lea archivos .DAT con registros (struct) que ya tienen un formato ...
  #1 (permalink)  
Antiguo 21/08/2011, 07:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Buscar Archivos .DAT en C++


Hola Quisiera saber si me podrian ayudar, estoy tratando de realizar un programa que lea archivos .DAT con registros (struct) que ya tienen un formato predeterminado, pero no consigo hacer un listado con los nombres de los archivos .DAT en una ruta especificada.
¿Como hago para leer cuantos archivos hay y para obtener sus nombres?

Desde ya muchas gracias...
  #2 (permalink)  
Antiguo 21/08/2011, 13:17
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: Buscar Archivos .DAT en C++

Depende mucho en el sistema opertativo que estas trabajando.... Podrias especificar cual es...

Saludos
  #3 (permalink)  
Antiguo 21/08/2011, 17:33
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 13 años, 4 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...

Etiquetas: archivos.dat, c++, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:52.