Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 斯特伦到底在干什么?_Fortran - Fatal编程技术网

Fortran 斯特伦到底在干什么?

Fortran 斯特伦到底在干什么?,fortran,Fortran,这是子程序strlen subroutine strlen(string,i1,i2) character string*(*) do 10 i=len(string),1,-1 if(string(i:i).ne.' ')then i2=i goto 11 endif 10 continue 11 do 20 i=1,len(string) if(stri

这是子程序strlen

      subroutine strlen(string,i1,i2)
      character string*(*)
      do 10 i=len(string),1,-1
        if(string(i:i).ne.' ')then
          i2=i
          goto 11
        endif
   10   continue
   11 do 20 i=1,len(string)
        if(string(i:i).ne.' ')then
          i1=i
          return
        endif
   20   continue
      return
      end
大体上

 if(nfil.lt.0)then
    call strlen(cpar,i1,i2)
    open(unit=10,file=cpar(i1:i2),status='old')
如果声明了cpar 字符cpar*(*)

关于正确打开cpar的名称是否存在任何规则或限制


我的hx263on.sens(cpar)无法读取。为什么?

该函数只查找第一个和最后一个字符,而不是空格。它们作为
i1
i2
返回<代码>cpar(i1:i2)应与Fortran 90中的
调整(微调(cpar))
相同

这是不必要的。Fortran会修剪传递给open的文件名。不支持以空格结尾的文件名


如果无法打开该文件,则该文件可能不存在或包含操作系统不喜欢的某些特殊字符。或者它实际上包含了你想象不到的东西。可能变量太短或者类似的东西。通过打印来验证
cpar
cpar(i1:i2)
的值。

在主程序中
cpar
需要在
cpar*(*)
之外进行声明。你能找到吗?cpar等于“hx263on.sens(cpar)”还是“hx263on.sens”,或者实际上等于什么?多长时间?您是如何打印的?@VladimirF否,实际上我已将文件命名为hx263on.sens.I使用此文件作为输入文件,但无法读取。
hx263on.sens.I
hx263on.sens(cpar)
hx263on.sens
不同,这并不重要。