gpt4 book ai didi

file-io - 打开第 5 或 6 单元上的文件

转载 作者:行者123 更新时间:2023-12-02 12:01:00 25 4
gpt4 key购买 nike

我在 Fortran 代码片段中正在进行读/写操作,如下所示

OPEN(5,FILE='WKDAT.dat', STATUS='OLD')
OPEN(6,FILE='WKLST.dat', STATUS='UNKNOWN')

我知道默认情况下,单元号 5 用于键盘输入,单元号 6 用于在屏幕上显示。我也可以使用*

但在上述 Fortran 代码中,单元编号为 5,并且给出了文件名“WKDAT.dat”。所以这意味着数据是从“WKDAT.dat”文件中读取的。还有代码单元号 6 和文件名“WKLST.dat”。所以这意味着数据正在写入“WKLST.dat”文件。我的理解正确吗?

根据我的基本知识:单元号 5 仅用于从键盘获取输入,单元号 6 仅用于打印到控制台,因此不应涉及任何文件。但在代码片段中它有单元号 5、6 以及文件名。

所以两者都是矛盾的:(

在此链接中http://www.oc.nps.edu/~bird/oc3030_online/fortran/io/io.html他们提到了以下内容“当 I/O 到文件时,您必须将单元号(您选择的)与文件名关联。使用除 5 和 6 之外的任何单元号。在某些计算机上,某些单元号被保留供使用通过计算机操作系统。”

最佳答案

Fortran 没有魔法单位数。 Fortran 标准没有提及 5、6 或任何其他有效单位数用于特殊目的。因此,您可以自由地使用 open 语句将任何有效的单元号与文件关联起来。然而,正如您所说,传统上,由于早于我 5 和 6 的原因,键盘和屏幕已预先关联。现在您仍然可以使用 open 语句来更改关联,这很好,除非它可能会导致困惑,所以我认识的大多数人建议避免这种情况并使用 10 及以上的单位号。另外,因为 5 和 6 不能保证与默认输入和输出设备关联,所以我建议不要使用它们,更喜欢 * 或在更现代的代码中,命名常量 input_unitoutput_unit error_unit 来自 iso_fortran_env 内部模块。

总而言之,您的想法是正确的,您感到困惑我并不感到惊讶。

关于file-io - 打开第 5 或 6 单元上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36450692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com