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_Fortran95 - Fatal编程技术网

在Fortran中列出目录的内容

在Fortran中列出目录的内容,fortran,fortran95,Fortran,Fortran95,如何在Fortran 95中获取目录的内容?要学究的话,你不需要。Fortran 95中没有内在的或类似的东西可以帮助您 在POSIX系统和最新的Fortran编译器上,您可以使用ISO_C_绑定来创建POSIX opendir()和readdir()函数的接口(如果需要线程安全,也可以使用readdir_r()),这允许您迭代目录项。Fortran中没有目录的概念。它读取文件。(有些处理器甚至没有目录的概念) 话虽如此,最简单的方法就是使用系统。取决于您需要什么…舒尔如果我们在“infles”

如何在Fortran 95中获取目录的内容?

要学究的话,你不需要。Fortran 95中没有内在的或类似的东西可以帮助您


在POSIX系统和最新的Fortran编译器上,您可以使用ISO_C_绑定来创建POSIX opendir()和readdir()函数的接口(如果需要线程安全,也可以使用readdir_r()),这允许您迭代目录项。

Fortran中没有目录的概念。它读取文件。(有些处理器甚至没有目录的概念)


话虽如此,最简单的方法就是使用系统。取决于您需要什么…

舒尔如果我们在“infles”文件夹中有所有文件,我们首先确定有多少文件,然后将它们的名称读入数组,查看以下内容:

  real :: r
  integer :: i,reason,NstationFiles,iStation
  character(LEN=100), dimension(:), allocatable :: stationFileNames

  ! get the files
  call system('ls ./inFiles > fileContents.txt')
  open(31,FILE='fileContents.txt',action="read")
  !how many
  i = 0
  do
   read(31,FMT='(a)',iostat=reason) r
   if (reason/=0) EXIT
   i = i+1
  end do
  NstationFiles = i
  write(verb,'(a,I0)') "Number of station files: " , NstationFiles
  allocate(stationFileNames(NstationFiles))
  rewind(31)
  do i = 1,NstationFiles
   read(31,'(a)') stationFileNames(i)
!!写(动词),(a)修饰(stationFileNames(i)) 结束
关闭(31)

你所说的“我必须将其填充,否则它将无法通过”是什么意思。到目前为止你都试了些什么。将目录的内容打印到屏幕上就足够了,还是需要将文件列表存储在一个变量中?@Chris:我指的是问题本身,太短了,SO无法接受。除了乘法之外,这种语言允许做任何有用的事情吗?为了比较,你能指出C或C++标准中的哪一个可以找到列出目录内容的功能吗?人们会期望这样的平凡操作的标准库可以用于这种年龄的语言。