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?
¿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.
En DOS eran algo como findfirst()/findnext()...
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.
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
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
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: