访问主程序子目录中的文件

时间:2012-03-05 20:26:53

标签: fortran gfortran

包含我的主要可执行文件的文件夹非常混乱,包含输入,输出和源文件。我想将其中一些文件移动到我的可执行文件的不同目录中,但仍然可以访问它们。如果我能创建一个目录(例如./main/outfile)来保存程序中的所有输出文件,那将是非常棒的。在Fortran 77/90中访问这些文件时是否可以包含路径?

如果编译器有任何重要性,我使用在Ubuntu 11.10上运行的gfortran。

2 个答案:

答案 0 :(得分:7)

对于输入/输出文件,只需指定打开文件时的路径。例如:

open(unit=3,file='outputdata/data_modified.txt',status='unknown')

将在outputdata文件夹中打开一个文件。请注意,outputdata文件夹必须事先存在,否则您可能会收到错误。

答案 1 :(得分:2)

运行时的起始目录不是主程序所在的目录,而是启动程序时的当前目录。

例如

mkdir run_N && cd run_N && ../my_program

即使应用程序二进制文件位于另一个目录中,也会在当前目录(./run_N)中读写文件。