Как я могу сохранить результаты кода Fortran77 в текстовом файле? - PullRequest
0 голосов
/ 24 марта 2009

Я хочу сохранить результаты в текстовом файле. Как я могу это сделать? Написать команду?

Ответы [ 3 ]

1 голос
/ 24 марта 2009

Да, команда записи. Подробности должны быть в какой-то книге или в сети, но вот простой пример:

OPEN(UNIT=20, FILE='FILENAME.TXT', STATUS='NEW')
C STATUS='NEW' WILL CREATE A NEW FILE IF ONE DOESN'T EXITST, 'REPLACE' WILL
C OVERWRITE OLD ONE
WRITE(UNIT=20, *)(A(I),I=1,10)
CLOSE(UNIT=20)

В fortran77 всегда было хорошей практикой избегать низких (менее 10) номеров модулей, потому что некоторые из них были зарезервированы - в зависимости от платформы, компилятора ... как правило, начинайте с номеров выше 10.

0 голосов
/ 24 марта 2009

Если вы используете unix / linux (что вполне вероятно), просто перенаправьте вывод в файл:

a.out > myoutputfile

где a.out - имя скомпилированного исполняемого файла. Или измените код для записи в файл, а не только в консоль:

io=22 !or some other integer number
open(io,file="myoutputfile")
write(io,*)myint,myreal
close(io)

или продолжать добавлять значения в существующий файл:

open(io,file="myoutputfile",position="APPEND")

но это возможно только в Fortran 90, но не в Fortran 77. В этом случае попробуйте переименовать ваш .f в .f90.

0 голосов
/ 24 марта 2009

да, команда записи. И команда open, чтобы открыть файл. Как-то так, если моя ржавая память ФОРТРАНА служит:

OPEN(UNIT=1, FILE=FNAME, STATUS='NEW')
WRITE(UNIT=1,FMT=*) "your data"

Другой вариант - просто написать в stdout (unit = *) и перенаправить вывод из командной строки (например: $ myfortranprogram> output.txt).

...