| |||
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... |
| |||
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: |