我正在编写一个 fortran 程序,我想知道是否可以从放置程序本身的同一目录中打开文件。
我正在使用 Ubuntu 12.04 顺便说一句。
例如,如果我将编译后的程序放在目录“/home/username/foo”,我希望程序打开文件“/home/username/foo/bar.txt”并写“Hello!” 在里面。
我的最小工作示例如下:
program main
implicit none
open(unit=20,file="bar.txt",action="write")
WRITE(20,*) "Hello!"
close(20)
end program main
当我使用 gfortran 编译时,无论我将程序文件放在哪里,它都会打开并写入文件“/home/username/bar.txt”。
另一方面,当我为 Windows 编译它(使用 mingw)制作一个 .exe 文件并在 Windows 中执行它时,它会执行我想要的操作,它会打开放置可执行文件的文件。
[编辑] 我刚刚发现,如果我通过双击执行程序,它会在程序目录中打开文件,但是当我从终端执行它时,它会在“/home/username/”打开,所以可能更多关于我从终端发送命令的方式,目前我正在通过以下命令“/home/username/foo/myprogram”来执行此操作。