25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

• La clausola UNIT=u specifica l’unità logica da disconnettere ed ha lo stesso significato<br />

visto nella frase OPEN.<br />

• La clausola IOSTAT=ios , in cui ios rappresenta il nome di una variabile intera cui è<br />

restituito lo stato dell’operazione CLOSE, fornisce informazioni circa la riuscita o meno<br />

dell’operazione di sconnessione. In particolare, se l’operazione di chiusura ha successo<br />

la variabile ios sarà posta pari a zero, altrimenti le verrà assegnato un valore positivo<br />

dipendente dalla specifica implementazione e relativo al tipo di problema incontrato.<br />

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

può assumere valore ’KEEP’ o ’DELETE’. Nel primo caso il file che era connesso all’unità<br />

logica u può essere successivamente connesso alla medesima o ad un’altra unità. Se,<br />

invece, st vale ’DELETE’ il file connesso all’unità u cessa di esistere. In entrambi i casi,<br />

sarà possibile utilizzare nuovamente l’unità u per successive operazioni di connessione.<br />

Si noti che applicare il valore ’KEEP’ per chiudere un file connesso con stato ’SCRATCH’<br />

determina l’insorgere di una condizione di errore. Se lo specificatore STATUS è omesso,<br />

viene automaticamente assunta la dichiarazione ’KEEP’, a meno che il file in questione<br />

non sia stato connesso con la specifica STATUS=’SCRATCH’, nel qual caso viene assunta la<br />

dichiarazione ’DELETE’. Si osservi, infine, che una istruzione CLOSE può essere eseguita<br />

anche su file inesistenti o non connessi, con il risultato di una istruzione vuota.<br />

A titolo di esempio si considerino le seguenti istruzioni:<br />

OPEN(UNIT=11,FILE=’dati.dat’,STATUS=’NEW’,POSITION=’REWIND’)<br />

...<br />

CLOSE(11,STATUS=’KEEP’)<br />

...<br />

OPEN(UNIT=7,FILE=’dati.dat’,POSITION=’APPEND’)<br />

Esse implicano la creazione del file dati.dat e la sua connessione all’unità logica 11,<br />

quindi la sconnessione da quella unità e la sua successiva riconnessione all’unità 10.<br />

8.2.3 Interrogazione dello stato di un file<br />

L’istruzione INQUIRE consente di analizzare lo stato di un file, ossia l’insieme dei parametri che<br />

lo caratterizzano in assoluto e nei riguardi di una sua eventuale connessione. In particolare,<br />

consente di ottenere le seguenti informazioni:<br />

• se il file (o l’unità) esiste<br />

• se il file (o l’unità) è connessa<br />

• il nome esterno del file connesso (se si fornisce l’unità logica)<br />

• l’unità logica connesso (se si fornisce il nome esterno del file)

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

Saved successfully!

Ooh no, something went wrong!