Fortran读入多个变量

时间:2017-09-21 18:40:13

标签: fortran

我目前正在努力了解fortran中建立的多重模拟过程,这个过程没有得到很好的评论,再加上我对fortran缺乏了解,这使得这项任务变得困难。我主要有一个问题是理解关于fortran read命令的一个陈述。声明的骨架如下。

read(somestring, *, iostat = iospara) outstring, &
(someint, somearray(index), index = 1, statenum)

现在从输入文件中读取somestring,其格式为:

'label     1 2' 

其中数字对取决于从输入文件中的不同行读取的statenum。例如,如果statenum = 2,那么somestring的格式为:

'label     1 2 2 2'   

我的问题是输出变量列表中的括号如何影响read语句?那将是:

(someint, somearray(index), index=1, statenum)

我无法通过READ文档查找有关此内容的任何信息。这是在fortran 2008.我也无法真正提供一个完整的工作示例,因为代码非常大,我单独重新创建此语句的尝试没有成功。

1 个答案:

答案 0 :(得分:0)

这是隐含的,您会在此网站上找到有关此功能的许多问题和答案。有时人们称之为隐式,但这不是标准名称。

它重复索引前的部分:someint, somearray(index),索引i的值,其值为1statenum

将输入列表翻译为:

outstring, someint, somearray(1) 

代表statenum = 1

outstring, someint, somearray(1), someint, somearray(2)

代表statenum = 2

请注意,someint不应在同一输入列表中出现两次,否则其值将不确定。