这是麻烦...我正在动态构建(而不是更改)包含数字(数字)的字符串(例如具有文件名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/