recorrer el contenido de una carpeta

15/03/2005 - 19:46 por Miguel | Informe spam
Con que funcion me puedo recorrer el contenido de una carpeta, para saber el
nombre de los ficheros que hay dentro de ella
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
15/03/2005 - 22:26 | Informe spam
FindFirstFile, FindNextFile

#define _WIN32_WINNT 0x0501

#include <windows.h>
#include <string.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH]; // directory specification
DWORD dwError;

printf ("Target directory is %s.", argv[1]);
strncpy (DirSpec, argv[1], strlen(argv[1])+1);
strncat (DirSpec, "\\*", 3);

hFind = FindFirstFile(DirSpec, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)
{
printf ("Invalid file handle. Error is %u", GetLastError());
return (-1);
}
else
{
printf ("First file name is %s", FindFileData.cFileName);
while (FindNextFile(hFind, &FindFileData) != 0)
{
printf ("Next file name is %s", FindFileData.cFileName);
}

dwError = GetLastError();
if (dwError == ERROR_NO_MORE_FILES)
{
FindClose(hFind);
}
else
{
printf ("FindNextFile error. Error is %u", dwError);
return (-1);
}
}
return (0);
}
Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org

Preguntas similares