Pentru a lucra cu fisiere trebuie introdusa urmatoarea linie de program :
#include <stdio.h>
In al doilea rind, trebuie sa declaram o variabila de tip FILE. Aceasta se declara ca un pointer la tipul respectiv, unde FILE este un tip predefinit.
FILE *file;
Deschiderea unui fisier se face astfel:
FILE *fopen(const char *cale,const char *acces)
r - citire t - fisier de tip text
w - scriere b - fisier de tip binar
a - adaugare
iar inchiderea
int fclose(FILE *fp)
int fprintf(FILE *fp,const char *format,...)
functia este identica cu printf cu deosebirea ca ea scrie intr-un fisier.
int fscanf(FILE *fp,const char *format,...)
realizeaza citirea cu format dintr-un fisier.
int fgetc(FILE *fp)
intoarce urmatorul caracter din fp ca un unsigned char convertit la int, sau EOF daca s-a intilnit sfirsitul de fisier sau in caz de eroare.
char *fgets(char *s,int n,FILE *fp)
se citesc cel mult n-1 caractere din fp in s,citirea oprindu-se la '\n'.
int fputc(int c,FILE *fp)
se scrie c in fp.
char *fputs(char *s,FILE *fp)
se scrie s in fisier.
Aceste functii citesc/scriu din/in fisiere fara nici o conversie.Se folosesc cu modul de acces binar. Dupa citire/scrire pozitia in fisier este actualizata. Inregistrarile pot contine orice fel de date. In fisier, datele vor apare in reprezentarea interna de pe calculator.
size_t fread(void *ptr,size_t size,size_t nrec,FILE *fp)
Se citesc cel mult nrec inregistrari de lungime size in tabloul ptr.
size_t fwrite(const void *ptr,size_t size,size_t nrec,FILE *fp)
realizeaza scriere a nrec inregistrari.
int fseek(FILE *fp,long depl,int origine)
origine - SEEK_SET - inceputul fisierului
SEEK_END - sfirsitul fisierului
SEEK_CUR - pozitia curenta
pozitioneaza pointerul de fisier la depl octeti fata de o pozitie aleasa.
int ftell(FILE *fp)
se intoarce pozitia curenta din fisier sau -1L in caz de eroare.
int rewind(FILE *fp)
pozitionare la inceputul fisierului.
int feof(FILE *fp)
intoarce ceva diferit de 0 daca s-a ajuns la sfirsitul fisierului.
int ferror(FILE *fp)
intoarce ceva diferit de 0 daca s-a obtinut o eroare la vreo operatie.