Proiect sisteme de operare


Funcţii pentru lucrul cu directoare



Yüklə 382,05 Kb.
səhifə9/14
tarix03.01.2022
ölçüsü382,05 Kb.
#44894
1   ...   6   7   8   9   10   11   12   13   14
3.3 Funcţii pentru lucrul cu directoare

Conţinutul unui director poate fi obţinut de către procesele care au drept de citire asupra directorului prin operaţii de citire similare cu cele asupra fişierelor. Scrierea într-un director poate fi făcută doar de către sistemul de operare. Structura unui director apare utilizatorului ca o succesiune de structuri (elemente) numite intrări în director. O intrare în director conţine, printre alte informaţii, numele fişierului şi i-node-ul acestuia. Pentru citirea intrărilor unui director există următoarele funcţii:

#include

#include

DIR* opendir(const char* cale);

struct dirent* readdir(DIR* dp);

void rewinddir(DIR* dp);

int closedir(DIR* dp);

Funcţia opendir are ca efect deschiderea directorului, adică pregătirea pentru operaţiile ulterioare de citire a conţinutului lui. Ea returnează un pointer valid dacă deschiderea a reuşit şi NULL în caz de eroare.

Funcţia readdir citeşte la fiecare nou apel al ei, în ordine secvenţială, următoarea intrarea din director: primul apel readdir citeşte prima intrare din director, următorul apel citeşte următoare intrare şi aşa mai departe. Funcţia returnează un pointer valid spre o structură de tip dirent, dacă citirea a reuşit şi NULL în caz contrar (sfârşitul directorului).

Funcţia rewinddir repoziţionează indicatorul din director spre prima intrare din director (începutul directorului).

Funcţia closedir închide un director deschis anterior. Returnează -1 în caz de eroare.

Structura dirent, definită în fişierul dirent.h, conţine cel puţin doi membri:

struct dirent {

ino_t d_fileno;               // nr. i-node

char d_name[MAXNAMLEN + 1];   // nume fişier




Yüklə 382,05 Kb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin