2015-02-03 2 views
-4

У меня есть текстовый файл чисел, содержащий несколько столбцов и несколько строк. Я пробовал несколько способов, включая массивы, но в лучшем случае я мог получить только 3 столбца целого. Любые идеи, как я могу читать все данные в Fortran 77?-fortran: чтение чисел из текстового файла

open(unit=1, file='f', status='old') 

do i = 1, 100 
    read(1, *) x(i), y(i), z(i) 
    write(6, *) x(i), y(i), z(i) 
enddo 

или даже 2 одномерные массивы:

do i = 1, 100 
    do j = 1, 50 
     read(1, *) x(i, j) 
     write(6, *) x(i, j) 
    enddo 
enddo 

или изменение open(..., access='direct')

ни один из них не вышло, так как у меня есть файл, как это:

1 2 4.5 77 89 4 3 2... 
2 4 4 5 6 73 5 3.4 ... 
1 2 4 5 67 8 99... 
... 
+0

Что вы пробовали? Покажите нам какой-нибудь код! –

+2

Downvoted, потому что вопрос плохо представлен и явно не задан. Например, что вы подразумеваете под «чтением всех данных» (прочитайте, какие данные и какая структура данных?), «Лучший результат, который я мог бы получить» (какой результат?). (Пожалуйста, не отвечайте здесь в разделе комментариев, вместо этого сделайте прямое редактирование своего вопроса, чтобы сделать его более понятным. Спасибо!) – stakx

ответ

0

данных похоже, не имеет какой-либо конкретной структуры. Вы можете использовать список направленного вход для этого:

program main 
    real a(100) 
    read (*,*) a 
    print *,a 
    end 

Я бы посоветовал вам не использовать какой-либо номер устройства меньше 10 в коде для собственных целей.

+0

он работал с некоторыми изменениями. Большое спасибо tkoenig! – mary

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