Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





como obtengo una lista de todos los archivos de una

Iniciado por xeex, 14 de Septiembre de 2007, 03:19:38 AM

« anterior - próximo »

xeex

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

Zaelsius

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.

xeex

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

Mars Attacks







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.