Я пишу программу fortran, и я хотел бы узнать, можно ли открыть файл из того же каталога, где размещена сама программа.Fortran Open из текущего каталога
Я использую Ubuntu 12.04 BTW.
Например, если я поместил скомпилированную программу в каталог «/ 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 и выполнив его в окнах, он делает то, что я хочу, он открывает файл, в который помещается исполняемый файл.
[EDIT] Я только что узнал, что если я запустил программу, дважды щелкнув по ней, он откроет файл в каталоге программы, но когда я его запустил из терминала, он откроется в «/ home/username /», поэтому возможно, это больше о том, как я отправляю команду из терминала, в настоящее время я делаю это с помощью следующей команды «/ home/username/foo/myprogram».
Удалите txt-файл, cd в другой каталог, используйте pwd, чтобы узнать, где вы находитесь, запустите свою программу и сообщите нам, что происходит , – cup