如何在 Fortran 95 中获取目录的内容?
问问题
8524 次
3 回答
6
如果我们在“inFiles”文件夹中有所有文件,我们首先找出有多少,然后我们将它们的名称读入一个数组,检查一下:
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)
于 2013-07-31T21:14:47.910 回答
3
要学究,你不会。Fortran 95 中没有内在的或类似的东西可以帮助你。
在 POSIX 系统和最近的 Fortran 编译器上,您可以使用 ISO_C_BINDING 创建到 POSIX opendir() 和 readdir() 函数(或 readdir_r() 如果您需要线程安全)的接口,这允许您迭代目录条目。
于 2012-01-17T13:44:45.367 回答
2
Fortran 中没有目录的概念,因此。它读取文件。(有些处理器甚至没有目录的概念)。
话虽如此,最简单的方法是使用SYSTEM。这取决于你想要什么之后......
于 2012-01-17T14:46:58.700 回答