这是麻烦...我正在动态构建(而不是更改)包含数字(数字)的字符串(例如具有文件名out01.txt,out02.txt等。)

我的程序运行正常(我正在使用最后更新的值字符串来命名文件并编辑该文件)...但是在使用“ls”命令的同一目录中,我可以看到该文件已创建,并且可以通过文件浏览器访问它,但是从命令行使用vim,gedit我无法打开它。正在打开同名的新文件...而且我无法从命令行(rm out010.txt'中删除该文件。
没有这样的文件或目录),这里是代码,我可能无法解释我的问题,但是代码会说明一切……

program strtest
implicit none
 character(len=1024)::filen,format_str
 integer::i
 format_str="(a5,i0.3,'.txt')"
 do i=1,10
  write(filen,format_str)'out',i
 end do
write(*,*)trim(filen)
open(23,file=trim(filen))
write(23,*)"what a mess!"
close(23)
stop
end program strtest

注意:即使在文件打开语句中不使用trim()函数,我也会遇到相同的问题

请解释一下我的情况!!

问候 ...

最佳答案

文件名前面有2个空格,因此,如果您输入rm " out01.txt"(2个空格,out01.txt),则可以删除它们。正是a5抛弃了格式字符串。

关于fortran中的字符串和使用它们的文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5417382/

10-14 17:19
查看更多