No me aclaro con este codigo...mirad

Responder
Avatar de Usuario
aitor
Mensajes: 183
Registrado: 06 Feb 2007 22:56

No me aclaro con este codigo...mirad

Mensaje por aitor »

Código: Seleccionar todo

#include <stdio.h>
#include <iostream.h>
#include <windows.h>
#define BUFSIZE 5

int main()
{
   WIN32_FIND_DATA FindFileData;
   HANDLE hFind = INVALID_HANDLE_VALUE;
   LPSTR Dir;
   Dir = (LPSTR) malloc (BUFSIZE);

   std::cout << "Introduzca el nombre de la ruta a explorar: ";
   std::cin >> Dir;

   strcat (Dir,"\\*"); //Le añadimos un \* al final de la ruta para que pueda listar los direcrorios bien

   hFind = FindFirstFile(Dir, &FindFileData);

   if (hFind == INVALID_HANDLE_VALUE)
   {
   std::cout << "Ruta incorrecta" << '\a';
   }
   else
   {
   std::cout << FindFileData.cFileName << '\n'; //El primer fichero
     
      // Listamos todos los ficheros del directorio
      while (FindNextFile(hFind, &FindFileData) != 0) //Mientras q la funcion q lista el siguiente fichero, es decir
                                              //FindNextFile, no nos devuelva nulo...
      {
  std::cout << FindFileData.cFileName << '\n'; //...listamos el resto de ficheros y directorios
  getchar();
      }
   }
   free(Dir);
} 

pues este es el codigo...lo k ace es listar los archivos que hay en un directorio llamando a las apis de windows....
Si alguien puede explicarme para que sirve poner :

Código: Seleccionar todo

WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
LPSTR Dir;
Dir = (LPSTR) malloc (BUFSIZE);

hFind = FindFirstFile(Dir, &FindFileData);

{
   std::cout << FindFileData.cFileName << '\n'; //El primer fichero
     
      // Listamos todos los ficheros del directorio
      while (FindNextFile(hFind, &FindFileData) != 0) //Mientras q la funcion q lista el siguiente fichero, es decir
                                              //FindNextFile, no nos devuelva nulo...
      {
  std::cout << FindFileData.cFileName << '\n'; //...listamos el resto de ficheros y directorios
  getchar();
      }
   }
   free(Dir);
vamos que mas o menos es todo,nose xk ace todas esas cosas k he puesto

Un saludo gracias.
Responder