Els exemples que s'han tractat fins ara han demanat informació que s'ha introduït mitjançant el teclat i han mostrat per la pantalla els resultats. Aquestes dades, però, desapareixen en finalitzar el programa, ja que al programa no hi havia instruccions per guardar-les. De vegades, la informació per introduir o per visualitzar és massa extensa com per teclejar-la o per veure-la en pantalla. En aquests casos és interessant poder llegir o gravar la informació en fitxers registrats al disc dur, disquet o altres medis materials.
Quan al programa s'especifica que els canals d'entrada o de sortida d'informació són fitxers, i no el teclat o la pantalla, el programa llegeix o escriu informació als fitxers. El S.O. s'encarregarà d'obrir els fitxers i de transferir la informació entre aquests i el programa.
Per accedir als fitxers directament des del programa disposem d'una àmplia sèrie de funcions estàndar, però les funcions d'ús més freqüent és més reduïda i segueixen una seqüència típica
FILE (FILE *)
. Aquesta declaració
és obligatòria i es pot fer com a variable local o global. Per exemple
FILE *fitxer1, *fitxer2;.
La seva sintaxi és fopen(nomfitxer, mode d'accés)
. El primer paràmetre
és el nom del fitxer que es vol obrir (nom físic) i el segon paràmetre és el
mode d'accés al fitxer (r llegir, w escriure, ...). Si
l'operació es realitza amb èxit, fopen torna un punter (adreça de la
variable) a FILE, que serà emmagatzemada sobre una variable del
programa. Aquesta variable serà la que es farà servir per identificar el
fitxer en totes les altres funcions.
fread()
funció de lectura de dades d'un fitxer binari
fwrite()
funció d'escriptura de dades d'un fitxer binari
fprintf()
funció d'escriptura de dades amb format. S'utilitza
com printf()
fscanf()
funció de lectura de dades amb format. S'utilitza com
scanf()
fgetc()
funció de lectura d'un caràcter
fputc()
funció d'escriptura d'un caràcter
fclose
). És important no oblidar-nos de
tancar tots els fitxers abans de sortir del programa, per no perdre
informació. La funció que tanca el fitxer és fclose (FILE*fitxer)
.
porta solament un paràmetre que és el punter a fitxer FILE*fitxer
.
A la taula 18 hi podem veure un exemple.
Utilitzant aquestes idees, fes les activitats 4 i 5.
Taller de simulació medi ambiental