25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

412 Operazioni di I/O su file<br />

lista_di_operandi è tipica di ciascuna istruzione mentre lista_di_specificatori indica<br />

un insieme di specifiche e di informazioni ausiliarie per l’esecuzione della istruzione.<br />

L’insieme delle istruzioni di I/O verrà dettagliatamente esaminato nei prossimi paragrafi.<br />

8.2.1 Connessione di un file<br />

Per poter far riferimento, in una istruzione di I/O, ad un file esterno occorre che questo sia<br />

”conosciuto” dal programma ossia associato o connesso ad una data unità. Con l’istruzione di<br />

connessione si realizza, così, l’associazione fra una unità logica e il nome di un file rendendone<br />

possibile l’uso nelle altre istruzioni di I/O . Al tempo stesso vengono specificate tutte quelle<br />

informazioni atte alla gestione del file, quali:<br />

• il tipo del file (formattato o non formattato)<br />

• il metodo di accesso (sequenziale o diretto)<br />

• la lunghezza dei record<br />

• lo stato del file (nuovo, preesistente, da rimpiazzare, temporaneo, incognito)<br />

• l’azione che deve ”subire” (lettura, scrittura o entrambe)<br />

• la gestione di un eventuale errore nella connessione<br />

La connessione di un file avviene tramite l’istruzione OPEN la quale ha la seguente sintassi:<br />

OPEN([UNIT=]u[,FILE=fln][,IOSTAT=ios][,STATUS=st][,ACCESS=acc] &<br />

[,FORM=fm][,ACTION=act][,POSITION=pos][,DELIM=del] &<br />

[,PAD=pad][,RECL=rl])<br />

in cui gli specificatori possono apparire in qualsiasi ordine, a meno che la parola chiave UNIT=<br />

non sia assente, nel qual caso l’informazione u deve essere riportata per prima.<br />

Di seguito viene riportato il significato di ciascuno specificatore.<br />

• La clausola UNIT=u specifica l’unità logica da associare al file; u è il numero identificativo<br />

dell’unità logica e rappresenta una espressione intera non negativa. Questo specificatore<br />

deve essere obbligatoriamente presente, non solo nelle istruzioni OPEN ma in tutte le<br />

istruzioni di I/O. Nell’espressione della specifica, la sequenza UNIT= può essere omessa:<br />

in tal caso lo specificatore, ridotto alla sola espressione u , deve essere il primo della lista.<br />

• La clausola FILE=fln specifica il nome ”esterno” del file da connettere alla unità logica u .<br />

E’ importante osservare che, nel caso in cui il file debba essere utilizzato in forma temporanea<br />

(STATUS=’SCRATCH’) il file non deve essere avere un nome e, quindi, lo specificatore<br />

FILE= non deve essere presente.<br />

• La clausola IOSTAT=ios specifica il nome di una variabile intera cui è restituito lo stato<br />

dell’operazione OPEN. Se l’operazione di connessione ha successo la variabile ios sarà<br />

impostata a zero, altrimenti conterrà un valore positivo dipendente dalla specifica<br />

implementazione e relativo al tipo di problema incontrato.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!