2016-06-11 3 views
2

У меня есть текстовый файл, как это:матрицы из текстового фортрана

24.2 30.6 23.9 23.7 26.5 24.7 
24.4 30.4 24.1 23.8 26.3 24.7 
24.2 30.5 24.4 23.6 26.2 25.1 
24.5 30.4 23.9 23.8 26.1 24.8 
24.0 30.4 24.3 23.5 26.3 25.0 

Я не могу читать в матрицу (5,6), Fortran ошибки во время выполнения: Конец файла

код:

open(11,file='aux.txt',status='old',decimal='comma') 

    open(13,file='temperatura.txt',status='replace') 
    open(14,file='temperaturamod.txt',status='old') 

do i=1,fil 

     READ (11,*)t1,t2,t3,t4,t5,t6  
     WRITE (13,'(6F5.1)')t1,t2,t3,t4,t5,t6 
    end do 

    DO i = 1,5 
    DO j = 1,6 
    READ (13,*) matriz (i,j) 
    END DO 
    END DO 
+1

В куске, который вы опубликовали, вы не инициализировали 'fil'. Не 'fil = 5'? – Jagte

+1

Я не думаю, что включение 'decimal = 'comma'' в оператор, чтобы открыть этот файл данных, является желательным. Это может быть даже вредно. –

+0

На самом деле, теперь, когда у меня была возможность протестировать его, включение 'decimal = 'comma'', похоже, не имеет значения - по крайней мере, для довольно недавней версии gfortran, работающей над этим входным файлом примера. Я не знаю, соответствует ли это нормативному поведению или нет. –

ответ

1

Попытка прочитать данные matriz построчно:

DO i = 1,5 
    READ (13,*) matriz (i,:) 
    END DO 

Или

DO i = 1,5 
    READ (13,'(6F5.1)') matriz (i,:) 
    END DO 

И вы должны вновь открыть блок 13 файла для чтения или поместить курсор в начало файла: rewind(13).

Смежные вопросы