在bash中,我可以編寫如下的簡單腳本;讀取文件的文件夾中的內容,我使用環境變量「fileplace又」在FORTRAN中定義文件的路徑
#!/bin/bash
fileplace="/home/vijay/data1/process-folder1/"
cat $file/file1.dat
我想達到相同的像上面在FORTRAN 90限定該文件的路徑,通過定義使用可變的路徑。我想這樣做,因爲我的文件夾位置路徑很長,我想避免使用FORTRAN 90中的長行&和+符號。
我已經嘗試編寫簡單的FORTRAN 90代碼,如下所示進行測試。
program test_read
implicit none
open (unit=10, status="old",file="/home/vijay/data1/process-folder1/file1.dat")
read(10,*) junk
write(*,*) junk
stop
end
如果我想避免在FORTRAN代碼中使用長路徑(/ home/vijay/data1/process-folder1 /)。 有沒有可能做到這一點?如果是的,任何人都可以幫助糾正這個FORTRAN代碼?提前感謝任何幫助。
謝謝
維傑
我的路徑是這樣的(/ home/vijay/Simulation-Folder-Feb2013/chapter6-lyo-paper1-Vj/TRAJ-malto12per /)。我用在序言中(CHARACTER(*):: fileplace =「/ home/vijay/Simulation-Folder-Feb2013/chapter6-lyo-paper1-Vj/TRAJ-malto12per /」)。然後在我輸入的代碼體(OPEN(unit = 31,status =「old」,file = fileplace //「maltoLyo12per-reimage-set1.traj」)。但是我得到像這樣的錯誤[CHARACTER(*): :fileplace =「/ home/vijay/Simulation-Folder-Feb2013/chapter6-lyo- 錯誤:假設字符長度爲(1)的實體必須是僞參數或PARAMETER]。 ?謝謝 – Vijay 2013-04-22 10:10:30
Sry ...我忘了'PARAMETER'。 – Stefan 2013-04-22 10:31:56
使用列表定向內部寫入來定義一個字符常量值的字符變量是不必要的複雜的。一個簡單的賦值語句會更好也允許刪除對ADJUSTL的引用)。 – IanH 2013-04-22 11:41:45