Sunteți pe pagina 1din 9

Prelucrarea fi ierelor n C

 Tipuri de fi iere n C  Opera ii la nivel de fi ier  Opera ii de citire/scriere f r conversie  Opera ii de citire/scriere f r conversie

Tipuri de fi iere n C
Mod de realizare a transferului ntre MP i suport Cu conversie F r conversie

Tip fi ier

Metoda de organizare

Tip lungime articol Variabil Fix

Acces permis

Suport

ASCII (text) Binare

Secven ial Secven ial

Secven ial Secven ial i direct

Magnetic Nemagnetic Magnetic - de I/ (stdin) - de /O (stdout) - pt. mesaje (stderr) - pt. imprimant (stdprn)

Standard

Secven ial

Variabil

Secven ial

Cu conversie

Nivelul superior de prelucrare a fi ierelor ier


Fi ierul se descrie ca pointer c tre o structur predefinit (FIB - File Information Block) FILE* f;

Opera ii la nivel de fi ier


Deschiderea fi ierelor FILE* fopen(const char* nume_extern, const char* mod); Asignarea fi ierelor nume_intern=fopen(sir_nume_extern,sir_mod);

Moduri de deschidere a fi ierelor


Mod a r w a+ r+ w+ Scop Deschide un fi ier existent pentru ad ugare la sfr it (extindere) sau l creeaz dac nu exist . Este permis numai scrierea. Numai pentru fi iere text. Deschide un fi ier existent numai pentru citire Suprascrie un fi ier existent sau creeaz unul nou, permi ndu-se numai opera ia de scriere Deschide un fi ier existent pentru ad ugare la sfr it (extindere) sau l creeaz dac nu exist . Sunt permise citiri i scrieri. Numai pentru fi iere text. Deschide un fi ier existent pentru citire i scriere Suprascrie un fi ier existent sau creeaz unul nou, permi ndu-se att citiri ct i scrieri.

Se poate ad uga: b fi iere binare sau t fi iere text

Moduri uzuale de deschidere a fi ierelor


Opera ia de gestiune Creare Consultare Actualizare Creare i actualizare Extindere w+ a Fi iere text w r Fi iere binare wb rb r+b rwb, w+b

nchiderea fi ierelor int fclose(FILE* f);

Revenirea la nceputul fi ierelor void rewind(FILE *f);

Testarea sfr itului de fi iere int feof(FILE* f); Golirea zonei tampon int fflush(FILE* f);

Determinarea pozi iei curente int fgetpos(FILE* f, fpos_t* pozi ie); long ftell(FILE* f); Pozi ionarea absolut n fi ier int fsetpos(FILE* f, const fpos_t pozi ie); Pozi ionarea relativ n fi ier int fseek(FILE* f, long deplasare, int origine); Originea poate fi: - SEEK_SET (0) - SEEK_CUR (1) - SEEK_END (2)

Redenumirea (mutarea) unui fi ier int rename(const char* nume_vechi, const char* nume_nou); tergerea unui fi ier int remove(const char* cale);

Opera ii de citire/scriere f r conversie


Citirea dintr-un fi ier binar dintrfread(void* ptr, size_t dim, size_t n, FILE* f); Scrierea ntr-un fi ier binar ntrfwrite(const void* ptr, size_t dim, size_t n, FILE* f);

S-ar putea să vă placă și