在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