Un fisier este o colectie ordonata de elemente (inregistrari) care se afla depozitate pe un mediu extern, de regula reutilizabil. Putem vorbi de fisier de intrare si de fisier de iesire (de obicei cele doua nu sunt identice). Prelucrarea unor astfel de fisiere impune utilizarea unor operatii:
| deschiderea unui fisier | pozitionarea intr-un fisier |
| crearea unui fisier | adaugare de inregistrari |
| consultarea unui fisier | stergerea unui fisier |
| actualizarea unui fisier | inchiderea fisierului |
Deschiderea fisierului se face astfel:
int open(const char *cale, int acces);
unde acces poate avea una din valorile :
O_RDONLY numai citire O_RDWR citire/scriere
O_WRONLY numai scriere O_APPEND deschidere la sfirsit
O_BINARY fisier binar O_TEXT fisier text
Exemplu
char numef[]="date.txt"; int df; ..... df=open(numef,O_RDONLY);
Crearea unui fisier :
int creat(char *cale,int indicator)
unde indicator poate fi
S_IREAD S_IWRITE S_IEXEC
Citirea se face prin instructiunea:
int read(int df,void *buf,unsigned long l);
df - descriptor de fisier
buf - zona de memorie in care se face citirea
l - dimensiunea inregistrarii care se vrea citita
iar scrierea astfel:
int write(int df,void *buf,unsigned long l);
Obs. Citeva fisiere au descriptorii de fisier fixati:
stdin - 0 stdout - 1 stderr - 2
Pozitionarea intr-un fisier se face prin:
long lseek(int df,long depl,int origine)
depl - numarul de octeti peste care se va deplasa capul de citire/scriere
origine - 0 deplasare fata de inceput
1 deplasare fata de pozitia curenta
2 deplasare fata de sfirsitul fisierului
int close(int df)
va inchide fisierul.