什么是内在功能" INDEX"在Fortran 77吗?

时间:2016-05-03 17:56:02

标签: fortran fortran77

我正在研究代码并遇到以下问题:

NP = INDEX (PATH, ' ')-1

" NP"声明为整数变量,PATH声明为字符。单词" INDEX"代表Fortran函数(它在代码中突出显示)。

它是什么意思,它有什么作用?我在网上寻求帮助,但我发现的结果都不令人满意。

我确实找到了一个参考文献,说INDEX功能总是写成" INDEX(STRING,SUBSTRING)",但它没有说更多;因此,怀疑仍然存在。

如果你能解释一下上面的代码行是如何工作的,或者你是否指出了一些好资源的方向,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

由于您特别要求FORTRAN 77的定义,这里是FORTRAN 77标准的相应部分......

Cl. 15.10 "Table of Intrinsic Functions"

  

表5的注释:

     

[...]

     
      
  1. if (!empty($older_than)) { $cond[] = "join_date = ?"; $params[] = $older_than; } 返回一个整数值,表示与字符串INDEX(a1,a2)相同的子字符串的字符串a1内的起始位置。如果在a2中多次出现a2,则会返回第一个匹配项的起始位置。

         

    如果a1中没有a2,则返回零值。请注意,如果a1,则返回零。

  2.   

表5中的相应行:

LEN(a1) < LEN(a2)

所以你的行

|                   |                 |          |        |         |                     |
|                   |                 | Number of| Generic| Specific|       Type of       |
|Intrinsic Function | Definition      | Arguments|  Name  | Name    | Argument | Function |
|___________________|_________________|__________|________|_________|__________|__________|
| [...] 
|___________________|_________________|__________|________|_________|__________|__________|
|                   |                 |          |        |         |          |          |
|Index of           | Location of     |     2    |        | INDEX   | Character| Integer  |
|  a Substring      | Substring a2    |          |        |         |          |          |
|                   | in String a1    |          |        |         |          |          |
|                   | See Note 1      |          |        |         |          |          |
|___________________|_________________|__________|________|_________|__________|__________|

在变量NP = INDEX (PATH, ' ')-1 中搜索第一次出现空白()并从其位置减去PATH。然后将其分配给1

答案 1 :(得分:0)

它返回字符串中子字符串的位置。在随后的每一个Fortran中都不应该难以查找(除了在手机上)。