Errore Fortran I/O: End of file (IOSTAT = -1 / EOF Inatteso)
L'istruzione 'READ(unit, *)' tenta di leggere ulteriori record da un file sequenziale che ha già raggiunto la fine del file (EOF); si gestisce specificando 'IOSTAT=stat' o 'END=label'.
Categoria
Articoli tecnici organizzati per gruppo funzionale.
L'istruzione 'READ(unit, *)' tenta di leggere ulteriori record da un file sequenziale che ha già raggiunto la fine del file (EOF); si gestisce specificando 'IOSTAT=stat' o 'END=label'.
Si verifica nelle operazioni di I/O non-avanzante ('ADVANCE="NO"') quando l'istruzione READ tenta di estrarre caratteri oltre la lunghezza della riga corrente; si intercetta con la clausola 'EOR=label'.
Si tenta di eseguire una lettura/scrittura con formato (READ/WRITE con '*') su un'unità aperta con 'FORM="UNFORMATTED"' (binario puro), o viceversa.
Richiedere attributi come SEQUENTIAL, POS o NAME su un'unità non aperta genera valori indefiniti o errori se non si verifica preventivamente la clausola 'OPENED=is_open'.
Si verifica durante l'I/O su 'file interno' (conversione numero-stringa tramite 'WRITE(char_var, *)'): la rappresentazione testuale supera la capacità della variabile CHARACTER di destinazione.
Nei file aperti con ACCESS='STREAM' (Fortran 2003), il valore passato al parametro POS= deve essere un intero positivo a 1-based; specificare un valore <= 0 scatena errore di runtime.
L'apertura di un file con specificatore 'ENCODING="UTF-8"' fallisce la lettura se il file contiene byte non conformi allo standard Unicode o se è codificato in Latin-1 / ISO-8859-1.
Nei file ad accesso diretto ('ACCESS="DIRECT"') la quantità di byte scritti supera la dimensione fissa del record dichiarata nel parametro 'RECL' della OPEN.