Logo

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