在 Fortran 中打印目录列表

ral*_*lpu 5 directory fortran directory-listing

如何使用 Fortran 打印给定目录中所有文件的列表,仅限于特定文件类型...例如,我只想从目录中获取“.txt”文件列表。

目录中的文件:

  • 文件1.txt
  • 另一个.dat
  • 测试.mp3
  • 文件2.txt
  • 文件3.txt

就像是

WHILE (not_last_file AND filetype = '.txt' )

{

print FILENAME
Run Code Online (Sandbox Code Playgroud)

}

我将衷心感谢您的帮助,

谢谢

Moo*_*ght 3

简而言之,你不能。Fortran 中没有针对此类操作的内在库可以帮助您。如何解决这个问题还取决于您正在运行的 Fortran 版本(F77、F90、F95 等),但您没有说明这一点。

“在使用最新 Fortran 编译器的 POSIX 系统上,您可以使用 ISO_C_BINDING 创建 POSIX opendir() 和 readdir() 函数(如果需要线程安全,则为 readdir_r())的接口,这允许您迭代目录条目。 ”

请参阅这篇文章Listing the Contents of a Directory in Fortran或者您也可以从 gfortran 文档中查看此概述,很有用。

我希望这有帮助。