如何使 gfortran 读取文件名不区分大小写

问题描述 投票:0回答:1

我是 gfortran 的新手,我正在尝试编译一个从许多不同文件中提取的大气代码。然而,问题是一些用于输入参数的文件与主文件中所需的不同。

我可以根据需要单独编辑每个文件的名称,但是有数百个文件,那会很乏味。有没有办法,比如优化选项,让它对文件中的大小写不敏感?

fortran filenames case-sensitive case-insensitive
1个回答
1
投票

你不能。如果操作系统和文件系统区分大小写,则 thrn gfortran 使用系统服务打开文件。您甚至可以拥有两个不同的文件,它们仅在文件名中的某些字符的情况下有所不同。

最好的解决方案是自动化重命名过程。

您还可以编写一个例程,在目录中搜索符合您要求的文件。在一个目录中循环文件是可能的,但不是在纯 Fortran 中。必须调用一些系统例程,例如,在 https://bitbucket.org/LadaF/elmm/src/master/utils/file_names.c 中使用 https:// 中的 file_names 模块中相应的 Fortran 接口bitbucket.org/LadaF/elmm/utils/eaf2vtk.f90

最后,如果区别很简单——只有全部小写,只有全部大写,或者只有第一个大写,你可以尝试在你的 Fortran 代码中打开所有组合。

总的来说,这些程序化的解决方案将比仅仅重命名文件更多的工作。但它们也可以在未来使用。

© www.soinside.com 2019 - 2024. All rights reserved.