gpt4 book ai didi

fortran - 在 FORTRAN 中定义文件路径

转载 作者:行者123 更新时间:2023-12-03 18:19:41 24 4
gpt4 key购买 nike

在 bash 中,我可以编写一个简单的脚本,如下所示;在使用环境变量“fileplace”定义文件路径时读取文件夹中文件的内容

#!/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 代码吗?提前感谢任何帮助。

谢谢

维杰

最佳答案

Fortran 不是处理字符串的好语言,但这仍然是可能的。

您需要一个变量,您可以在其中存储路径。如果这个路径是一个常量并且在编译时已经知道,你可以简单地写

CHARACTER(*), PARAMETER :: fileplace = "/home/vijay/data1/process-folder1/"

然后可以打开该文件
OPEN(unit=10, status="old",file=fileplace//"file1.dat")

如果你想在执行期间改变路径,你必须为 fileplace设置一个合适的长度。并相应地调整它,当你想使用它时:
CHARACTER(100) :: fileplace

WRITE(fileplace,*) "/home/vijay/data1/process-folder1/"
OPEN(unit=10, status="old", file=TRIM(ADJUSTL(fileplace))//"file1.dat")

功能 ADJUSTL()TRIM()将 string 的内容向左移动以删除任何前导空格,然后剪切所有尾随空格。

关于fortran - 在 FORTRAN 中定义文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com