hba*_*ega 4 fortran trim fortran90
我正在尝试将trim/adjustl用于以下代码。似乎我得到了X_eq_ 10.0.dat或者X_eq_10.0 .dat作为输出文件的名称,我期望它是X_eq_10.0.dat(没有空格)。有什么补救办法吗?
Program Test
double precision:: X
character (len=10) :: tag
character (len=100) :: outfile
X=10.0
write(tag,'(f10.1)') X
print*,'tag=',tag
outfile='X_eq_'//trim(tag)//'.dat'
print*,'Output file: ',outfile
outfile='X_eq_'//trim(tag)//trim('.dat')
print*,'Output file: ',outfile
outfile='X_eq_'//adjustl(trim(tag))//adjustl(trim('.dat'))
print*,'Output file: ',outfile
End Program Test
Run Code Online (Sandbox Code Playgroud)
我曾经gfortran作为编译器使用过。
你想要的是:
outfile='X_eq_'//trim(adjustl(tag))//'.dat'
adjustl将字符向左移动,留下尾随空白,因此您需要修剪该结果。这样做没有好处,trim(tag)因为它已经正确调整了。最后,'.dat'不需要任何处理。