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.

8.2 Le specifiche di I/O 413<br />

• La clausola STATUS=st specifica lo stato del file da aprire. L’espressione carattere st può<br />

avere uno dei seguenti valori:<br />

– ’OLD’: In questo caso il file deve già esistere prima che la connessione abbia luogo,<br />

in caso contrario incorrerà una condizione di errore.<br />

– ’NEW’: In questo caso il file non deve essere già esistente ma esso viene creato all’atto<br />

della connessione, dopodiché il suo stato diventerà automaticamente ’OLD’. Nel caso<br />

in cui il file esista già prima che la connessione abbia luogo, avrà luogo una condizione<br />

di errore.<br />

– ’REPLACE’: Quando lo stato del file è specificato come ’REPLACE’ ed il file non esiste<br />

ancora, esso viene creato; nel caso in cui, invece, il file esista già, il vecchio file viene<br />

eliminato ed un nuovo file viene creato con lo stesso nome. In entrambi i casi lo stato<br />

del file, subito dopo la connessione, è automaticamente settato a ’OLD’.<br />

– ’SCRATCH’: Quando lo specificatore STATUS è posto uguale a ’SCRATCH’, il file<br />

viene creato e connesso all’unità logica ma non può essere conservato al termine<br />

dell’esecuzione del programma o a seguito dell’esecuzione di una istruzione CLOSE.<br />

– ’UNKNOWN’: In questo caso lo stato del file risulta dipendente dalla specifica implementazione<br />

Generalmente, se il file esiste già il suo stato è assunto ’OLD’, in caso<br />

contrario è considerato ’NEW’. Si noti che lo stato ’UNKNOWN’ è assunto come default<br />

dallo standard.<br />

• La clausolaACCESS=acc specifica la modalità di accesso ai record del file per cui i possibili<br />

valori per l’espressione carattere acc possono essere ’DIRECT’ oppure ’SEQUENTIAL’,<br />

dove quest’ultimo valore rappresenta quello di default.<br />

• La clausola FORM=fm specifica se il file debba essere connesso per operazioni di I/O formattate<br />

oppure non formattate. I possibili valori per l’espressione carattere fm sono, pertanto,<br />

’FORMATTED’ e’UNFORMATTED’. Se questo specificatore è omesso il valore di default<br />

assunto sarà ’FORMATTED’ se ACCESS=’SEQUENTIAL’, UNFORMATTED se ACCESS=’DIRECT’.<br />

• La clausola ACTION=act specifica le operazioni che è possibile effettuare sul file connesso<br />

dall’istruzione OPEN. I possibili valori per l’espressione stringa act sono:<br />

– ’READ’: In questo caso il file viene connesso esclusivamente per operazioni di lettura<br />

per cui è proibito l’utilizzo delle istruzioni WRITE e ENDFILE.<br />

– ’WRITE’: In questo caso il file è connesso soltanto per operazioni di scrittura e<br />

l’uso dell’istruzione READ risulta in un errore (su alcuni sistemi, anche l’istruzione<br />

BACKSPACE e lo specificatore POSITION=’APPEND’ possono fallire in quanto entrambi<br />

implicano, implicitamente, una operazione di lettura).<br />

– ’READWRITE’: In questo caso, che è anche quello di default, non esistono restrizioni<br />

all’uso del file che, una volta connesso, può essere utilizzato per qualsiasi operazione<br />

valida di I/O.

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

Saved successfully!

Ooh no, something went wrong!