-2

我想将结果保存在文本文件中。我怎样才能做到这一点?写命令?

4

3 回答 3

1

是的,写命令。详细信息应该在某本书或网上,但这里有一个简单的例子:

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 以上的那些开始。

于 2009-03-24T14:29:41.633 回答
0

是的,写命令。以及打开文件的 open 命令。像这样的东西,如果我生锈的 FORTRAN 记忆服务:

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

您的另一个选择是简单地写入标准输出 (unit=*) 并从命令行重定向输出(例如:$ myfortranprogram > output.txt)。

于 2009-03-24T11:19:20.343 回答
0

如果您使用的是 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。

于 2009-03-24T11:20:12.507 回答