Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Obtener Que Ficheros Tiene Un Directorio En Linux

Iniciado por DraKKaR, 31 de Marzo de 2004, 11:22:02 PM

« anterior - próximo »

DraKKaR

 Hola, me preguntaba si existen funciones de C para obtener el nombre todos los ficheros que hay en un directorio. La API de Windows te proporciona funciones para ello, pero para Linux no he encontrado nada... ¿sabeis de alguna?

Mars Attacks

 ¿Pero tú no has aprobado sistemas operativos, malandrín? En las prácticas dábamos eso, entre otras cosas.
Ahora no recuerdo nada de nada, pero por alguna parte tengo la estructura que maneja el tema de directorios. Si la encuentro antes de que nadie ponga nada, te lo paso.

sés

 En DOS eran algo como findfirst()/findnext()...
Soy indeciso... ¿o no?

DraKKaR

 Mars, aprobé sistemas operativos hace tantos años... ya ni me acordaba, pero es cierto ahí estaba la clave: las funciones opendir/readdir/closedir. Sencillisimo.

Gracias por responder.

vicho

 y las funciones son casi las mismas, si en el K&R explicaban como hacerlo y no creo que expliquen en ese libro algo que no sea ansi asi que debe de andar sin problemas.

lo hize una vez pero hace mucho tiempo que no lo hago denuevo, de todas formas es algo simplisimo, estructuras dirent opendir,readdir,rewindir etc

pekesan

 Para abrir un fichero

#include
#include

DIR *opendir(char *dirname);

Para lectura de las entradas de un directorio, las mismas librerías y

struct dirent *readdir(DIR *dirp);

Para cierre de un directorio

int closedir (DIR *dirp);

Control del puntero de lectura de un directorio

void seekdir(DIR *dirp,long loc);  //Situa el puntero de lectura
long telldir(DIR *dirp); //Devuelve la posicion actual del puntero
void rewinddir(DIR *dirp); //Situa el puntero de lectura al principio del directorio

A partir de ahí solo tiene que mirarte un poco en el man la defición de las extructuras y de sus campos...si necesitas más info...

Pazzzzzzzzzzzzzzzzzz

Mars Attacks

 Pues me alegro que te haya servido, porque busqué por todas partes la chuleta con esas funciones y me temo que la he perdido... :huh:  






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.