ACCÉS A DIRECTORISPer accedir als directoris ens calen funcions similars a les que hem estudiat per accedir als ftxers ordinaris.
opendir mira d'obrir el directori que se li passa com a paràmetre en mode lectura. Si es pot obrir, ens retorna un apuntador a una estructura que no estudiarem, l'estructura DIR, definida al fitxer de capçalera dirent.h. Si no es pot obrir el fitxer, retorna NULL i errno contindrà el codi de l'anomalia que s'hagi produït. readdir llegeix una entrada del directori que prèviament hem obert i fa avançar el cursor de lectura dins el directori. Retorna una estructura anomenada dirent que tot seguit detallarem, però si falla retornarà NULL. closedir com és de suposar, tancarà el directori que s'hagi obert prèviament. Retorna 0 si va bí i -1 si falla (errno contindrà el codi de l'error). L'struct dirent el trobem definit a /usr/include/bits/dirent.h i pot constar de diversos camps entre els quals segurament es trobaran els següents:
El següent programa llegirà el directori que se li passi com a paràmetre i escriurà el nom i el tipus de fitxer de cada entrada. Modifica'l per mostrar la resta de dades associades a cada entrada del directori. Altres funcions que ens permeten "navegar" pels directoris són:
rewinddir posa el cursor de lectura/escriptura al començament del directori. telldir pregunta en quina posició del directori ens trobem (consulta el camb d_off de l'struct dirent) seekdir situa el cursor de lectura/escriptura al valor posicio que li passem. Aquest valor s'haurà d'haver obtingut amb telldir o consultant d_off. |
Autor: Lluís València López
Aquesta obra està subjecta a una Llicència
de Creative Commons.