如何将 Fortran77 代码的结果保存到文本文件中?

发布于 2024-07-16 11:39:30 字数 40 浏览 5 评论 0原文

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

I want to save results in a text file. How can I do that? Write command?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

她说她爱他 2024-07-23 11:39:30

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

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

Yes, the write command. The details should be in some book, or on the net, but here's a simple example:

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)

In fortran77 it was always good practice to avoid low (below 10) unit numbers, because some of them were reserved - depending on the platform, compiler ... generally, start with those above 10.

耳钉梦 2024-07-23 11:39:30

是的,写命令。 以及打开文件的 open 命令。 像这样的事情,如果我生锈的 FORTRAN 记忆起作用的话:

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

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

yes, the write command. And the open command to open the file. Something like this, if my rusty FORTRAN memory serves:

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

Your other option is to simply write to stdout (unit=*) and the redirect the output from the command line (eg: $ myfortranprogram > output.txt).

听风念你 2024-07-23 11:39:30

如果您使用的是 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在这种情况下。

If you are on unix/linux (which is likely), then just redirect the output to a file:

a.out > myoutputfile

where a.out is the name of the compiled executable. Alternatively, change your code to write to a file instead of just to the console:

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

or to keep appending the values to an existing file:

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

but this is only possible in fortran 90, not in fortran 77. Try renaming your .f to .f90 in that case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文