Hola,
Estoy haciendo un programa usando :opengl,allegro-gl,allegro,c,dev-c++
Mi duda es la siguiente, como obtengo una lista de todos los archivos con cierta terminacion, *.tga, en una derterminada carpeta, usando c, y no las librerias de windows.
GRACIAS
Busca POSIX C directory browsing / listing, suponiendo que la libc de Dev-C++ lo implemente.
Aunque en realidad, no hay llamadas estándar(ANSI C) multiplataforma para listar directorios en C. Lo normal es hacerse un envoltorio ligero para sistemas unix y windows, que no cuesta nada.
GRACIAS SAELSIUS
esto sirvio:
#include <stdio.h>
#ifdef _WIN32
/* Compiling for Windows */
#include <windows.h>
int main(void)
{
WIN32_FIND_DATA f;
HANDLE h = FindFirstFile("./*", &f);
if(h != INVALID_HANDLE_VALUE)
{
do
{
puts(f.cFileName);
} while(FindNextFile(h, &f));
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}
#else
#ifdef __unix__
/* Compiling for UNIX / POSIX */
#include <sys/types.h>
#include <dirent.h>
int main(void)
{
DIR *dir = opendir(".");
if(dir)
{
struct dirent *ent;
while((ent = readdir(dir)) != NULL)
{
puts(ent->d_name);
}
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}
#else
#ifdef __TURBOC__
/* Compiling for MS-DOS */
#include <dir.h>
int main(void)
{
struct ffblk ffblk;
if(findfirst("*.*", &ffblk, 0) == 0)
{
do
{
puts(ffblk.ff_name);
} while(findnext(&ffblk) == 0);
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}
#else
#error Unsupported Implementation
#endif
#endif
#endif
es de esta pagina:
http://www.thescripts.com/forum/thread545614.html
SALUDOS
¡Muy bien, Saelziuz!